2014-04-12 128 views
1

我正在wordpress網站上工作。我有一個選擇標籤和一些選項的HTML。提交表格時,如果選擇「其他」選項,我想用此值「Rosemont」替換選項'Other'的值。以下是我的html。使用jquery更改選擇標記的值

<select class="expand" name="field_19" id="field_19"> 
             <option value="Bryn Mawr">Bryn Mawr</option> 
             <option value="Devon">Devon</option> 
             <option value="Gladwyne">Gladwyne</option> 
             <option value="Haverford">Haverford</option> 
             <option value="Other">Other</option> 
             </select> 

現在我想,如果「其他」被選中,那麼該選項的選擇值應改爲文本「羅斯蒙特」。因此,值「Rosemont」應該保存到數據庫而不是「其他」。我寫了一些jQuery代碼,但它不工作。 這裏是我的代碼

jQuery(function(){ 
    jQuery('#signup_submit').click(function(){ 
    var city_name = jQuery('select[name="field_19"]').val(); 
    alert(city_name)// this alerts 'Other' 
    if(city_name=='Other'){ 
    valr = 'Rosemont'; 
    jQuery('select[name="field_19"]').val(valr); 
    var vals = jQuery('select[name="field_19"]').val(); 
    alert(vals);// again this alerts 'Other'. this should alert Rosemont 
} 
    }); 
+0

但var city_name = jQuery('select [name =「field_19」]')。val();工作正常。它應該顯示「其他」值。但現在我需要用'Rosemont'來改變這個值,我使用jQuery('select [name =「field_19」]')。val(valr);但這不起作用,它仍然顯示值'其他'。 – Riz

回答

0

像這樣的事情? jsBin demo

jQuery(function($) { 

    $('#signup_submit').click(function(e){ 
    e.preventDefault(); 
    var $f19 = $('select[name="field_19"]'); 
    var f19Val = $f19.val(); 
    if(f19Val=='Other'){ 
     var $oth = $('[value=Other]',$f19); 
     var newVal = "Rosemont"; 
     $oth.val(newVal).text(newVal); 
    } 
    }); 

}); 
+0

啊,工作正常。謝謝 – Riz

+0

不客氣! –