javascript - 如何使用 jQuery 创建 select 值的元素编号?

标签 javascript jquery html listbox

我有以下两个选择标签,我想根据它们的值显示输入标签。

<select name="ticketId" id="myQty1">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<select name="ticketId" id="myQty2">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

因此,如果有人从 #myQty1 中选择一个值并从 #myQty2 中选择两个值,我需要三个输入标签。我的输出如下:

<!-- participate #1 -->
<input type="text" name="myQty1_parti1"/>

<!-- Participate #2 -->
<input type="text" name="myQty2_parti1"/>
<input type="text" name="myQty2_parti2"/>

那么我该如何展示呢?

最佳答案

选择的改变事件需要创建目标输入。在 select onchange 中,迭代创建等于 select 值的输入。

$("#myQty1").change(function(){
     $("#myQty1_result").empty();
     for (var i = 1; i <= $(this).val(); i++){
         $("#myQty1_result").append('<input type="text" name="myQty1_parti'+i+'"/>');
     }
});
$("#myQty2").change(function(){
    $("#myQty2_result").empty();
    for (var i = 1; i <= $(this).val(); i++){
         $("#myQty2_result").append('<input type="text" name="myQty2_parti'+i+'"/>');
     }
});
#myQty1_result > input {
    border: 1px solid blue;
}

#myQty2_result > input {
    border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="ticketId" id="myQty1">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<select name="ticketId" id="myQty2">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<div id="myQty1_result"></div>
<div id="myQty2_result"></div>

你可以像底部代码一样简化代码:

$("select").change(function(){
    $("#"+this.id+"_result").empty();
    for (var i = 1; i <= $(this).val(); i++){
        $("#"+this.id+"_result").append('<input type="text" name="'+this.id+'_parti'+i+'"/>');
    }
});

关于javascript - 如何使用 jQuery 创建 select 值的元素编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39293707/

相关文章:

javascript - 使用 jQuery 2.1+ 更改 css 会忽略过渡属性

javascript - 如何将jquery组合框设置为选中true

jquery - 在 localStorage 中存储可排序对象

javascript - 单击密码字段外部时如何更改密码可见性

Javascript 将十进制转换为十六进制

javascript - 遍历 socket.io v1 中的套接字? "...has no method ' 客户的”

javascript - 数组的 Document.getElementByName

html - 如何为div标签添加CSS

javascript - 出于缓存原因在不存在的元素上调用 Jquery 的开销

javascript - 更新数据时绘制动画绘图旭日图