如何使用jquery设置选择下拉列表中的'selected option'

我有以下jquery函数:

$.post('GetSalesRepfromCustomer', {
    data: selectedObj.value
}, function (result) {
    alert(result[0]);
    $('select[name^="salesrep"]').val(result[0]);
});

result[0]是我想要在我的选择框中设置为selected项目的值。 result[0]等于Bruce jones

选择框由数据库查询填充,但其中一个呈现的html是:

<select id="salesrep" data-theme="a" data-mini="true" name="salesrep">
<option value=""> </option>
<option value="john smith">john smith</option>
<option value="Bruce Jones">Bruce Jones</option>
<option value="Adam Calitz">Adam Calitz</option>
<option>108</option>
</select>

$('select[name^="salesrep"]').val(result[0]); 不填充选择框选择选项。 我也试过$("#salesrep").val(result[0]); 没有任何运气。

任何帮助赞赏。

所以我想要的是salesrep下拉列表中的选定/突出显示选项是Bruce Jones。

HTML是:

<select id="salesrep" data-theme="a" data-mini="true" name="salesrep">
<option value=""> </option>
<option value="john smith">john smith</option>
<option value="Bruce Jones" selected >Bruce Jones</option>
<option value="Adam Calitz">Adam Calitz</option>
<option>108</option>
</select>

再次感谢,

整个脚本

<script type="text/javascript"> 
    $(document).ready(function () {

           $("#customer").autocomplete( 
     { 
     source: "get_customers", 
     messages: 
     { 
     noResults: '', 
     results: function() {} 
     }, 
     select: function( event, ui ) 
     { 
      var selectedObj = ui.item;        

     $.post('GetSalesRepfromCustomer', {data:selectedObj.value},function(result) { 
      alert(result[0]);
       var selnametest="Bruce Koller";
    $("#salesrep").val(selnametest);
     }); 

     } 
     });
         });


</script>

呈现的HTML是:

<select id="salesrep" data-theme="a" data-mini="true" name="salesrep">
<option value=""> </option>
<option value="RyanLubuschagne">Ryan Lubuschagne</option>
<option value="Bruce Jones">Bruce Jones</option>
<option value="Adam Calitz">Adam Calitz</option>
</select>

尝试这个 :

$('select[name^="salesrep"] option[value="Bruce Jones"]').attr("selected","selected");

option[value=result[0]]替换option[value="Bruce Jones"] option[value=result[0]]

在选择新选项之前,您可能需要“取消选择”之前的选项:

$('select[name^="salesrep"] option:selected').attr("selected",null);

你也可以阅读:jQuery获取特定的选项标签文本

编辑:使用jQuery Mobile,这个链接可能会提供一个很好的解决方案:jquery mobile - 设置选择/选项值


设置它将其设置为下拉菜单的选项:

$("#salesrep").val("Bruce Jones");

这里是工作演示

如果它仍然不工作:

  • 请检查控制台上的JavaScript错误。
  • 确保你包含了jquery文件
  • 如果使用外部网络,则不会阻止jquery文件。
  • 检查你的查看源的一些时间确切的副本停止jquery正常工作

  • 有一件事我不认为有人提到过,以及我过去犯的一个愚蠢的错误(特别是当动态填充选择时)。 如果没有选项的值与所提供的值相匹配,jQuery的.val()将不能用于选择输入。

    这是一个小提琴解释 - > http://jsfiddle.net/go164zmt/

    <select id="example">
        <option value="0">Test0</option>
        <option value="1">Test1</option>
    </select>
    
    $("#example").val("0");
    alert($("#example").val());
    $("#example").val("1");
    alert($("#example").val());
    
    //doesn't exist
    $("#example").val("2");
    //and thus returns null
    alert($("#example").val());
    
    链接地址: http://www.djcxy.com/p/83067.html

    上一篇: How to set the 'selected option' of a select dropdown list with jquery

    下一篇: Jquery to get SelectedText from dropdown