我有一个已填充的下拉列表。因此,当页面加载时,它必须显示之前选择的值。我从数据库中获取用户选择的值。
这是当前的下拉列表
``` <select name="Items" valtype="required" runat="server" id="Items">
<option value="-1">--Select--</option>
<option value="Milk">Milk</option>
<option value="Sugar">Sugar</option>
<option value="Coffee">Coffee</option>
</select> ```
这是我从数据库读取的代码
function Changed(itemreturned)// pass value from db
{
var items=$('#Items');
//what i tried
items.val=items.innerHTML + '<option value="' + items[0].Items + '">' + itemreturned[0].Items + '</option>';
// second try
item.val=item.options[itemreturned[0].Items];
}
json结果
itemreturned
{
Items:Milk
}
所以我想做的是,由于返回了“Milk”,我想在项目下拉框中显示它而不是“--select--” 但我已经在列表中加载了“牛奶”的选项,那么我如何匹配从数据库返回的结果和列表中的项目并显示该特定值。
最佳答案
我相信这就是您想要的:
function Changed(itemreturned) // pass value from db
{
var items = $('#Items');
items.val(itemreturned.Items);
}
首先使用jQuery
,它是item.val(yourvalue)
而不是item.val = yourvalue
。
其次,在您的代码中您有 item.val
,我猜 item
应该是 items
您需要慢一点当您编码并使用控制台时,请检查是否有错误,因为这表明不存在任何名为 item
的内容。
演示
function Changed(itemreturned) // pass value from db
{
var items = $('#Items');
items.val(itemreturned.Items);
}
var itemreturned = {
Items: "Milk"
}
Changed(itemreturned)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="Items" valtype="required" runat="server" id="Items">
<option value="-1">--Select--</option>
<option value="Milk">Milk</option>
<option value="Sugar">Sugar</option>
<option value="Coffee">Coffee</option>
</select>
关于javascript - 如何将 json 中的值显示到下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56576901/