选择框文本等于而不是选择框文本包含 - jQuery

时间:2013-08-23 05:24:13

标签: javascript jquery html forms

我有两个选择框。

<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-districtKEGALLE #hidden-distrct上显示{{1}}。有没有办法从选择框中选择完全相同的单词?请帮忙。

3 个答案:

答案 0 :(得分:1)

您可以使用.filter以及.prop ::

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

答案 1 :(得分:0)

让你的脚本像这样工作

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

您需要设置值以手动更改下拉列表值

答案 2 :(得分: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");
        });
    });