2013-08-23 182 views
0

我有兩個選擇框。選擇框文本等於而不是選擇框文本包含 - jQuery

<select id="select-district"> 
    <option value="COL">COLOMBO</option> 
    <option value="GAL">GALLE</option> 
    <option value="MAT">MATARA</option> 
    <option value="KEG">KEGALLE</option> 
    <option value="KAND">KANDY</option> 
    <option value="JAFF">JAFFNA</option> 
</select>  

<select id="hidden-district"> 
    <option value="1">COLOMBO</option> 
    <option value="2">GALLE</option> 
    <option value="3">MATARA</option> 
    <option value="4">KEGALLE</option> 
    <option value="5">KANDY</option> 
    <option value="6">JAFFNA</option> 
</select> 

我也是,我有我的jQuery代碼如下:

$(document).ready(function() { 
    $('#select-district').change(function() { 
     var lngLatdist = $('#select-district option:selected').text(); 
     $("#hidden-district option:contains("+ lngLatdist +")").attr('selected', 'selected'); 
    }); 
}); 

這裏是JSFiddle

問題是,當我選擇GALLE#select-district它顯示#hidden-distrctKEGALLE。有沒有辦法從選擇框中選擇完全相同的單詞?請幫忙。

回答

1

您可以使用.filter.prop ::

$("#hidden-district option").filter(function() { 
    return $(this).text() == lngLatdist; 
}).prop("selected", true); 
0

使你的腳本這樣它會工作

$(document).ready(function() { 
    $('#select-district').change(function() { 
     var lngLatdist = $('#select-district option:selected').text(); 
     $("#hidden-district").val($("#hidden-district option:contains("+ lngLatdist +")").val()); 
    }); 
}); 

您需要設置的值更改下拉列表值手動

0

試試這個

$('#select-district').change(function() { 
     var lngLatdist = $('#select-district option:selected').text(); 
     $("#hidden-district option").each(function(){ 
      if($(this).text() == lngLatdist) 
       $(this).prop("selected","selected"); 
     }); 
    });