如何使用javascript和JSON在动态表中添加动态下拉选项(设置默认选择!)。
我想在表格的每一行中添加许多选择(下拉列表),并在select中设置默认文本。该表是使用javascript append创建的,并使用Jquery从JSON文件导入动态内容。
我可以成功导入所有内容,但下拉菜单无法设置为已选中。如果你们能协助我选择下拉菜单,我会很高兴。非常感谢你!
<script type="text/javascript">
...
$(target).append("<tr style='height:150px'>" +
"<td><input type='checkbox'></td>" +
"<td>pics</td>" +
"<td>" + menuItemName + "</td>" +
"<td id='"+menuItemId+"'>" +
"</td>" +
"<td class='menuItemPrice'>" + menuData.Categories[c].Items[i].Price + "</td>" +
"<td>mount</td>" +
"</tr>"
);
...
for (var o = 0; o < menuData.Categories[c].Items[i].Options.length; o++) {
var inputs = {isFirst: firstOption,
optionId: menuData.Categories[c].Items[i].Options[o].MenuItemOptionId,
optionName: menuData.Categories[c].Items[i].Options[o].MenuItemOptionName,
price: menuData.Categories[c].Items[i].Options[o].Price
};
$('#'+menuItemId).append("<div><select"+
"<option value='1'>small</option>" +
"<option value='2'>mid</option>" +
"<option value='3'>big</option>" +
"<option value='4'>very big</option>"+
"</select></div>"
);
这里我想设置默认选择但不能成功,请帮帮我,谢谢!
$('#'+menuItemId).children(':selected').text(inputs.optionName);//here just can show the last size.
HTML
...
<tbody id="sortable">
答案 0 :(得分:1)
首先,您的select
代码没有结束尖括号(&gt;),因此HTML格式不正确。它应该是这样的:
$('#'+menuItemId).append("<div><select>"+
其次,您应该使用find
而不是children
,因为您要查找的内容比选择器标识的元素低多个级别,如下所示:
$('#'+menuItemId).find(':selected').text(optionName);
以下是一个工作示例:https://jsfiddle.net/tLddsL2p/1/