选择标签中的json

时间:2012-09-21 20:05:52

标签: jquery

我将直接指出我在html中使用此代码

<select id ="list" name = "items[]"></select>
<select id ="list" name = "items[]"></select>
<select id ="list" name = "items[]"></select>

在jquery我有

<script>
jQuery(function($){
    $.getJSON('product_json.php', function(data) {
        var select = $('#list');
        $.each(data, function(key, val){
            $('<option/>').attr('value', val.PRODUCTID)
                  .html('ID ' + val.PRODUCTID)
                  .appendTo(select);
            });
        });
    });
 </script>

我正在获取第一个选择标签的json数据,但是在其他2个选择标签中,我想要使用相同id的所有3个选择标签中的相同json数据。在我的例子中id =“list”谢谢

3 个答案:

答案 0 :(得分:5)

ID必须唯一!

考虑改用类:

<select class="list" name="items[]"></select>
<select class="list" name="items[]"></select>
<select class="list" name="items[]"></select>

<script>
    var select = $(".list");
    // ...
</script>

答案 1 :(得分:0)

您不能拥有多个具有相同ID的标签。你可以改用类。此外,您不应该在属性名称和值之间使用空格:

<select id="list1" name="items[]"></select>
<select id="list2" name="items[]"></select>
<select id="list3" name="items[]"></select>

OR

<select class="list" name="items[]"></select>
<select class="list" name="items[]"></select>
<select class="list" name="items[]"></select>

答案 2 :(得分:0)

ID 必须是唯一的,您的代码的更正版本将是:

<select class ="list" name = "items[]"></select>
<select class ="list" name = "items[]"></select>
<select class ="list" name = "items[]"></select>

并在jquery中:

<script>
jQuery(function($){
    $.getJSON('product_json.php', function(data) {
        $.each(data, function(key, val){
            $('<option/>').attr('value', val.PRODUCTID)
                  .html('ID ' + val.PRODUCTID)
                  .appendTo('.list');
            });
        });
    });
 </script>