2013-08-23 184 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"); 
     }); 
    });