2012-09-04 21 views
0
<script type="text/javascript"> 
var CountryVal; 
var StateVal; 
$(document).ready(function(){ 
    $('#ItemCountry').change(function(){ 
     CountryVal = this.value; // value of the select element 
     $("#StateFeeder").html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />'); 
     $('#StateFeeder').load('/StateFeeder/StateFeeder-Buy.html #StateFeeder-'+CountryVal, function(){ 
      $('#ItemState').change(function(){ 
       StateVal = this.value; // value of the select element 
       $("#CityFeeder").html('<img src="/images/mapCountry/AU/ajax-loader.gif" class="IMG-Loading" />'); 
       $('#CityFeeder').load('/Country/'+CountryVal+'/_'+CountryVal+'_suburbs.html #Suburbs-'+StateVal, function(){ 
        $('#CityFeeder select').attr('size', '5'); 
        $('#CityFeeder select').change(function(){ 
         this.form['CAT_Custom_221342'].value=$(this).val(); 
        }); 
       });   
      }) 
     }); 
    }); 
});   
</script> 

上述jQuery將加載從其他網頁的下拉菜單到當前頁並傳遞值到另一個輸入字段時用戶進行選擇。問題是,從遠程頁面的#StateFeeder採取的選項值包含以下格式:以上Jquery的添加空間順便說一句大寫不間斷詞語

<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> 

值是不間斷的大寫單詞,我希望他們用空格資本字之間進行格式化像下面(plz保留「 - 」btw字樣),當它們被加載到當前頁面中時,當它們被加載時,沒有空間的值被用作id以供用戶進行onchange動作,然後在之後進行格式化。非常感謝你:

​​

回答

2

我建議:

$('option').attr('value', function(i, h) { 
    return h.replace(/([a-z])([A-Z])/g, '$1 $2'); 
}); 

JS Fiddle demo

這有效地查找後跟大寫字母([A-Z])小寫字母([a-z])(匹配每個兩個字母的,括號包裹每個),在replace()使用正則表達式,然後替換小寫字母(自身)插入一個空格,然後插入大寫字母。

在鏈接的演示中,select元素後面的div顯示option s的更改後的HTML。

+2

該死的,要晚了。但我的解決方案只是作爲比較:http://jsfiddle.net/f4ARM/。但通過你的代碼學到了新的東西,謝謝:) – ThoKra

+0

我很高興能展示一種新技術!並感謝你=) –

+0

謝謝大衛,你能請我的意見諮詢我應該如何將你的部分插入我的?我是Jquery的新手:P應該插入btw那兩個$('#CityFeeder select')行嗎? –

相關問題