Jquery为具有2D名称的所有选择元素添加选项

时间:2016-03-04 05:17:40

标签: javascript jquery

我试图动态地将选项值添加到具有特定多维名称的所有选择字段,但我似乎无法弄清楚:(

以下是HTML:

<input type="text" name="computer['id'][]" onBlur="load_comp_select();">

动态添加服务输入字段。可以有超过10个索引。

<select name="service['comp_id'][]">
</select>

这是JS:

function load_comp_select(){
    var computers = $("input[name^='computer[\\'id\\']']").serializeArray();
    $.each(computers, function(i, field){
        console.log(field.value);
        $.each($("input[name^='service[\\'comp_id\\'][]']"), function(key, value){
            console.log("service : " + key);
            $("input[name^='service[\\'comp_id\\']']").eq(key).append($('<option/>', {
                                                            value: field.value,
                                                            text : field.value
                                                            }));
        });
    });
}

总结我尝试做的事情...当我在任何计算机[&#39; id&#39;] []字段中输入计算机ID时,该字段的值将被添加为使用名称服务[&#39; comp_id&#39;]选择所有选项。任何帮助表示赞赏!

JSFiddle

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码,它可以帮助您动态添加选择选项。

&#13;
&#13;
$(".ip1").blur(function () {
  var opt = $("#ip1").val();
  var defaultText = '';
  $('#List').append($("<option></option>").attr("value", opt).text(opt));
  $(this).val(defaultText);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" value="" id="ip1" class="ip1" name="computer['id'][]" />
<select id="List" name="service['comp_id'][]"></select>
&#13;
&#13;
&#13;