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

标签 jquery html selected html-select

我有以下 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]); 没有任何运气。

感谢任何帮助。

所以我想要的是在销售代表下拉列表中选择/突出显示的选项是 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="Bruce Jones"] 替换为 option[value=result[0]]

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

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

你可能也想读这个:jQuery get specific option tag text

编辑: 使用 jQuery Mobile,此链接可能会提供一个很好的解决方案:jquery mobile - set select/option values

关于jquery - 如何使用 jquery 设置选择下拉列表的 'selected option',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17856523/

相关文章:

jquery - Zend Framework VS jquery validate VS Form

javascript - 如何使用 $.ajax 发送 JSON 而不是查询字符串?

javascript - 使用 JSON url 数据预填充表单字段

javascript - 向 IF ELSE 结果添加颜色格式

在 LinearLayout 中包含多个图像的 Android Camera App

javascript - 制作关注按钮的最佳方法是什么,如 Twitter 关注按钮

html - 我可以使用字体大小 : calc(1px * 1vw) to get around compatibility issues?

jquery - 如何制作可调整字体大小的响应式文本框/文本区域?

jsf-2 - p :selectOneMenu preselects previous item when noSelectionOption item is present

所选类上的 Jquery 绑定(bind)事件