我有以下jquery函数:
$.post('GetSalesRepfromCustomer',{
data: selectedobj.value
},function (result) {
alert(result[0]);
$('select[name^="salesrep"]').val(result[0]);
});
result [0]是我想在我的选择框中设置为所选项的值。
结果[0]等于布鲁斯·琼斯。
选择框由数据库查询填充,但其中一个呈现的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>
$( ‘选择[名^ = “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