我有以下jquery函数:
$.post('GetSalesRepfromCustomer',{ data: selectedObj.value },function (result) { alert(result[0]); $('select[name^="salesrep"]').val(result[0]); });
result [0]是我想在我的选择框中设置为所选项的值。
结果[0]等于布鲁斯·琼斯。
<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>
$( ‘选择[名^ = “SalesRep的”]’)VAL(结果[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");
只需将选项[value =“Bruce Jones”]替换为[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