1

私のオプションには次のものがあります。

<option value="Kabardino-Balkar Republic">Kabardino-Balkar Republic</option>
<option value="Karachay-Cherkess Republic">Karachay-Cherkess Republic</option>
<option value="Karelia Republic">Karelia Republic</option>
<option value="Komi Republic">Komi Republic</option>
<option value="Mari El Republic">Mari El Republic</option>
<option value="Mordovia Republic">Mordovia Republic</option>

..そして、それらを次の形式にしたい:

<option value="Kabardino-BalkarRepublic">Kabardino-Balkar Republic</option>
<option value="Karachay-CherkessRepublic">Karachay-Cherkess Republic</option>
<option value="KareliaRepublic">Karelia Republic</option>
<option value="KomiRepublic">Komi Republic</option>
<option value="MariElRepublic">Mari El Republic</option>
<option value="MordoviaRepublic">Mordovia Republic</option>

valueハイフンをそのままにして、属性内の大文字の単語間のスペースを削除するにはどうすればよいですか?

4

3 に答える 3

5
$('option').val(function(i, val){
  return val.split(" ").join("")
})

于 2012-09-05T02:24:40.100 に答える
2

文字列置換メソッドで正規表現を使用するだけですか?

$('option').each(function(){
   var $this = $(this);
   $this.val($this.val().replace(/\s/g,'')); // <-- replace a space with no space
});​

http://jsfiddle.net/XgNJV/

于 2012-09-05T02:25:40.140 に答える
0

ここで私は上記の問題のためにビンを作りました。デモリンクも確認できます。

デモ: http ://codebins.com/bin/4ldqp7o

HTML

<select id="demo">
  <option value="Kabardino-Balkar Republic">
    Kabardino-Balkar Republic
  </option>
  <option value="Karachay-Cherkess Republic">
    Karachay-Cherkess Republic
  </option>
  <option value="Karelia Republic">
    Karelia Republic
  </option>
  <option value="Komi Republic">
    Komi Republic
  </option>
  <option value="Mari El Republic">
    Mari El Republic
  </option>
  <option value="Mordovia Republic">
    Mordovia Republic
  </option>
</select>

jQuery

$(function() {
    $("#demo option").each(function() {
        var $option = $(this);
        $option.val($option.val().replace(/([A-Za-z0-9-_])\s([A-Z]{1})/g, '$1$2'));
    });
});

デモ: http ://codebins.com/bin/4ldqp7o

于 2012-09-05T09:45:45.443 に答える