2012-09-04 73 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保持「 - 」順便說一句的話),當他們被加載到當前頁面,在#ItemState部分特別關注:當城市值裝入#ItemState菜單,如「KareliaRepublic」的值(無空間「KareliaRepublic」)被認爲是ID,以便遠程菜單可以正確加載,請格式化它,直到完成然後再處理添加空間行動這個加載過程。非常感謝你:

​​

回答

1

這應該工作:

value = value.​​replace(/([^-])([A-Z])/g, "$1 $2"); 
+0

你正在扔掉一個非常有用的角色。 – Blazemonger

+0

@Blazemonger是的,但只有後面跟着一個大寫的char,所以沒關係,是嗎? – sp00m

+0

你誤會了。如果您運行代碼,則會刪除前一個單詞的最後一個字符。 – Blazemonger