我有以下 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>
原文由 Smudger 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试这个 :
只需将
option[value="Bruce Jones"]
替换为option[value=result[0]]
在选择新选项之前,您可能希望“取消选择”之前的选项:
您可能也想阅读: jQuery get specific option tag text
编辑: 使用 jQuery Mobile,此链接可能会提供一个很好的解决方案: jquery mobile - set select/option values