javascript - 如何将json中的值显示到下拉列表中
问题描述
我有一个已经填充的下拉列表。因此,当页面加载时,它必须显示先前选择的值。我从数据库中获取用户选择的值。
这是当前的下拉菜单
``` <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
}
所以我想要做的是,由于“牛奶”被退回,我想在项目下拉框中显示它而不是“--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>
推荐阅读
- java - 如何使用 32 位 Visual Studio 生成器使 CMake 的 FindJava 获得 64 位 Java
- javascript - 从 javascript 函数中更新 Razor 变量
- javascript - 使用 Javascript 将值设置为输入
- java - 将 JDialog 调用到自定义 JInternalFrame
- plugins - 在一个gimp(pythonfu)插件中,有没有办法让插件本身来确定它的安装路径?
- perl - 如何为 Perl 环境设置相同的日期/时间?
- haskell - 使用 DefaultSignatures 时未解析类型
- openssl - OpenSSL 公钥编码
- ansible - 用于检查操作系统的 Ansible 剧本
- javascript - 如何防止“this”被覆盖?