我已经创建了JSON。我在jquery mobile工作,这在我的代码中不起作用。代码已执行但元素不会附加。
var serviceName= [{..},{..},{..}]
$('#service_select').empty();
$('#service_select').append('<select name="day" id="day">');
for(var i = 0; i < serviceName.length; i++ ){
$('#service_select').append('<option value=" '+ serviceName[i].name+'">'+serviceName[i].name+'</option>');
}
$('#service_select').append('</select>');
html代码
<div id="service_select"></div>
答案 0 :(得分:0)
这是因为第一个append()也会创建结束</select>
。 jQuery不会创建无效的html。
试试这个:
$('#service_select').empty();
$('#service_select').append('<select name="day" id="day"></select>');
for(var i = 0; i < serviceName.length; i++ ){
$('#service_select select').append('<option value=" '+ serviceName[i].name+'">'+serviceName[i].name+'</option>');
}
答案 1 :(得分:0)
首先,关闭select标签并将其附加到service_select DIV,然后将选项附加到它,因为即使你没有指定,如果你没有指定,jQuery会立即创建结束标签
//新代码只需复制粘贴
<script>
var serviceName= [1,3,5,7,9];
$('#service_select').empty();
$("#service_select").append('<select name="day" id="day"></select>');
for(var i = 0; i < serviceName.length; i++ ){
$("#service_select select").append(new Option(serviceName[i], serviceName[i]));
}
</script>
检查jsfiddeel http://jsfiddle.net/TfM9S/
答案 2 :(得分:0)
建议使用此表格:
var $selectElement = $('<select>', {
'name': 'day',
'id': 'day'
});
for(var i = 0; i < serviceName.length; i++ ){
var $optionEl = $('<option>', {
'value': serviceName[i].name,
'text': serviceName[i].name
});
$selectElement.append($optionEl);
}
答案 3 :(得分:0)
它正常运作
var serviceName = [{..},{..}]
$(document).on("pageinit","#anotherPageId", function(){
$('#service_select').empty();
$('#service_select').append('<select name="service" id="service"></select>');
for (var i = 0; i < serviceName.length; i++) {
$('#service_select select').append('<option value=" ' + serviceName[i].name + '">' + serviceName[i].name + '</option>');
}
});