jQuery的的getJSON填充选择菜单的问题 [英] Jquery getJSON populate select menu question

查看:114
本文介绍了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填充选择菜单的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆