我正在做的是通过Ajax传递数据并将数据放入Dropdown。因此,当数据传递时,它应该与下拉列表中的选定值匹配,然后在选项上显示SELECTED,以便我们立即看到数据。因此,如果返回的数据是Product2,则Product2应该是SELECTED且可见。
<script type="text/javascript">
function myFunction() {
var skuvalue=document.my_form.modlistbox.value;
$.ajax({ url: 'modify.php',
data: {sku: skuvalue},
type: 'post',
dataType: "html",
error: function (request, error) {
console.log(arguments);
alert("ERROR: " + error);
},
success: function(data) {
var jsonvalue = $.parseJSON(data);
console.log(jsonvalue);
$(document).ready;
$("#modsku").val(jsonvalue[0]);
$("#modproduct").val(jsonvalue[1]).prop('selected', true); // I tried this and not working. Nothing is being SELECTED.
}
});
};
</script>
<input type="text" name="modsku" id="modsku" maxlength="10">
<select name="modproduct" id="modproduct">
<option></option>
<option value="Product1">Product1</option>
<option value="Product2">Product2</option>
<option value="Product3">Product3</option>
</select>
我希望做的就是这样。
<select name="modproduct" id="modproduct">
<option></option>
<option value="Product1">Product1</option>
<option value="Product2" selected>Product2</option>
<option value="Product3">Product3</option>
</select>
答案 0 :(得分:1)
这里的链式函数调用是多余的(并且在上下文中没有多大意义,尝试在selected
元素上设置select
属性:
$("#modproduct").val(jsonvalue[1]).prop('selected', true);
只需使用jQuery设置值,即可在select
中设置所选选项:
$("#modproduct").val(jsonvalue[1]);
注意:此代码中还有其他一些内容没有任何意义。例如,这个:
$(document).ready;
它没有做任何事情,而且实际上只是一个错误的机会。因此,代码中可能存在其他问题,这些问题会阻止整体结果的发生。