Functionality..
用户将选择下拉菜单中显示的项(从JSON文件中读取)。下拉菜单的默认文本应为“请选择商店.”在显示项目名称之前。
发行:
默认文本“请选择商店.”将丢失第一项,而不是默认文本。我使用以下属性设置了以下下拉<select>标记:
<select id="dropDownShops_1">
<option value="" selected disabled>Please Select Shops ...</option>
</select> 因此,我想寻求帮助:哪里出了问题,我该如何展示“请选择商店.”在显示从JSON文件中读取的项之前?
代码:
plnkr链接 (不知怎么说,默认文本正在显示,但JSON列表没有显示,但在我的问题中: JSON列表显示在下拉文本中,而不是默认文本)
//get a reference to the select element
var $select = $("#dropDownShops_1, #dropDownShops_2");
$(function() {
/*******************************************************
*FUNCTION CALL TO POPULATE DROPDOWN MENU FROM JSON FILE*
*******************************************************/
//request the JSON data and parse into the select element
$.getJSON('ajax/shops.json', function(data) {
$select.html('');
console.log("shops: " + data.Shops);
$.each(data.Shops, function(key, value) {
console.log("value:" + value);
//iterate over the data and append a select option
$select.append("<option >" + value.ShopName + "</option>");
});
});
$("img").on("dragstart", function(event) {
event.preventDefault();
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<!-- DropDown Menu to choose Participating Outlet -->
<select id="dropDownShops_1">
<option value="" selected disabled>Please Select Shops ...</option>
</select>
<select id="dropDownShops_2">
<option value="" selected disabled>Please Select Shops ...</option>
</select>
</form>
JSON文件:
{
"Shops": [
{
"ShopName": "7-ven",
"ShopID": "7-ven123",
"Shoplocation": "#02-31"
}, {
"ShopName": "8Tarstries",
"ShopID": "8Tarstries123",
"Shoplocation": "#B2-K4"
}, {
"ShopName": "A|hange",
"ShopID": "A|hange123",
"Shoplocation": "#01-202"
}]
}发布于 2016-12-15 09:57:23
对代码进行如下更改,
$select.append("<option value='' selected disabled>Please Select Shops.. </option>");
$.each(data.Shops, function(key, value) {
console.log("value:" + value);
//iterate over the data and append a select option
$select.append("<option >" + value.ShopName + "</option>");
});发布于 2016-12-15 10:12:03
只需将其从代码中删除即可
$select.html('');
// get a reference to the select element
var $select = $("#dropDownShops_1, #dropDownShops_2");
$(function() {
/*******************************************************
*FUNCTION CALL TO POPULATE DROPDOWN MENU FROM JSON FILE*
*******************************************************/
//request the JSON data and parse into the select element
var data = { Shops: ['a','b'] }
console.log("shops: " + data.Shops);
$.each(data.Shops, function(key, value) {
console.log("value:" + value);
//iterate over the data and append a select option
$select.append($('<option>',{ value: value, text: value}));
});
$("img").on("dragstart", function(event) {
event.preventDefault();
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<!-- DropDown Menu to choose Participating Outlet -->
<select id="dropDownShops_1">
<option value="" selected disabled>Please Select Shops ...</option>
</select>
<select id="dropDownShops_2">
<option value="" selected disabled>Please Select Shops ...</option>
</select>
</form>
发布于 2016-12-15 10:25:05
检查这个解决方案
$('#dropDownShops_1').append("<option >" + value.ShopName + "</option>");http://plnkr.co/edit/58yMCfo4X7w0NwqS1v0y?p=preview
https://stackoverflow.com/questions/41161009
复制相似问题