本文介绍了jQuery的的getJSON填充选择菜单的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用填充一个的getJSON选择菜单。我想知道如果有,我可以使用jQuery的。每个功能带来这些价值的方式?
当然,必须有一个更简单的方法来做到这一点...也许?
PHP文件:
< PHP
$ queryMonth =SELECT monthID,每月从月;
$结果= $ DB->查询($ queryMonth);
而($ rowMonth = $ DB-> FETCH_ASSOC($结果)):
$数据[] = $ rowMonth;
ENDWHILE;
回声json_en code($的数据);
?>
jQuery的:
$ .getJSON('selectMenus.php',功能(数据){
$(select.month)追加(<期权价值=+数据[0] .monthID +>中+数据[0] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[1] .monthID +>中+数据[1] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[2] .monthID +>中+数据[2] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[3] .monthID +>中+数据[3] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[4] .monthID +>中+数据[4] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[5] .monthID +>中+数据[5] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[6] .monthID +>中+数据[6] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[7] .monthID +>中+数据[7] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[8] .monthID +>中+数据[8] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[9] .monthID +>中+数据[9] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[10] .monthID +>中+数据[10] .month +< /选项>中);
$(select.month)追加(<期权价值=+数据[11] .monthID +>中+数据[11] .month +< /选项>中);
});
我的JSON输出是这样的:
<$p$p><$c$c>[{"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"}]解决方案
使用 @ RaYell 的方法....这是什么工作对我来说:
$。的getJSON(months.php',功能(数据){
VAR HTML ='';
VAR的len = data.length;
对于(VAR I = 0; I&LT; LEN;我++){HTML + ='&LT;期权价值=+数据[I] .monthId +'&GT; +数据[I] .month +'&LT; /选项&GT;';
}
$('select.month')追加(HTML);
});
感谢大家的帮助在此!
I am populating a select menu with getJSON. I am wondering if there's a way that I can use jQuery's .each function to bring in these values?
Surely there must be an easier way to accomplish this...maybe?
PHP file:
<?php
$queryMonth = "SELECT monthID, month FROM months";
$result = $db->query($queryMonth);
while($rowMonth = $db->fetch_assoc($result)) :
$data[] = $rowMonth;
endwhile;
echo json_encode($data);
?>
The 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>");
});
my json output looks like this:
[{"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"}]
解决方案
Using @RaYell's method....this is what worked for me:
$.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);
});
Thanks to everyone for your help on this!!
这篇关于jQuery的的getJSON填充选择菜单的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!