Sco*_*ott 21 ajax jquery json getjson
我用getJSON填充选择菜单.我想知道是否有一种方法可以使用jQuery的.each函数来引入这些值?
当然必须有一种更简单的方法来完成这个......也许吧?
PHP文件:
<?php
$queryMonth = "SELECT monthID, month FROM months";
$result = $db->query($queryMonth);
while($rowMonth = $db->fetch_assoc($result)) :
$data[] = $rowMonth;
endwhile;
echo json_encode($data);
?>
Run Code Online (Sandbox Code Playgroud)
jQuery:
$.getJSON('selectMenus.php', function(data){
$("select.month").append("<option value=" + data[0].monthID + ">" + data[0].month + "</option>");
$("select.month").append("<option value=" + data[1].monthID + ">" + data[1].month + "</option>");
$("select.month").append("<option value=" + data[2].monthID + ">" + data[2].month + "</option>");
$("select.month").append("<option value=" + data[3].monthID + ">" + data[3].month + "</option>");
$("select.month").append("<option value=" + data[4].monthID + ">" + data[4].month + "</option>");
$("select.month").append("<option value=" + data[5].monthID + ">" + data[5].month + "</option>");
$("select.month").append("<option value=" + data[6].monthID + ">" + data[6].month + "</option>");
$("select.month").append("<option value=" + data[7].monthID + ">" + data[7].month + "</option>");
$("select.month").append("<option value=" + data[8].monthID + ">" + data[8].month + "</option>");
$("select.month").append("<option value=" + data[9].monthID + ">" + data[9].month + "</option>");
$("select.month").append("<option value=" + data[10].monthID + ">" + data[10].month + "</option>");
$("select.month").append("<option value=" + data[11].monthID + ">" + data[11].month + "</option>");
});
Run Code Online (Sandbox Code Playgroud)
我的json输出如下所示:
[{"monthID":"1","month":"January"},{"monthID":"2","month":"February"},{"monthID":"3","month":"March"},{"monthID":"4","month":"April"},{"monthID":"5","month":"May"},{"monthID":"6","month":"June"},{"monthID":"7","month":"July"},{"monthID":"8","month":"August"},{"monthID":"9","month":"Septemeber"},{"monthID":"10","month":"October"},{"monthID":"11","month":"November"},{"monthID":"12","month":"December"}]
Run Code Online (Sandbox Code Playgroud)
RaY*_*ell 48
$.getJSON('selectMenus.php', function(data){
var html = '';
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<option value="' + data[i].monthId + '">' + data[i].month + '</option>';
}
$('select.month').append(html);
});
Run Code Online (Sandbox Code Playgroud)
如果您关心应用程序性能,将HTML代码存储在变量中并在最后只添加一次非常重要.
Ric*_*ard 15
这应该工作:
$.getJSON('selectMenus.php', function(data){
$.each(data, function(index,item) {
$("select.month").append("<option value=" + item.monthID + ">" + item.month + "</option>");
});
});
Run Code Online (Sandbox Code Playgroud)
使用@RaYell的方法......这对我有用:
$.getJSON('months.php', function(data){
var html = '';
var len = data.length;
for (var i = 0; i < len; i++) {html += '<option value="' + data[i].monthId + '">' + data[i].month + '</option>';
}
$('select.month').append(html);
});
Run Code Online (Sandbox Code Playgroud)
感谢大家对此的帮助!
| 归档时间: |
|
| 查看次数: |
49053 次 |
| 最近记录: |