我有一个表单,我可以在单击按钮时加载表单的多个输入行。每个输入都有一个名称,所以我可以创建一个数组。
例如,我的输入看起来像
<select name='Area[]' onchange='getSame($(this).val(),$("select[name=Rack]").val())' id='MdWd'>
<options>(options pulled in through php)</select>
<select name='Rack[]' onchange='getSame($("select[name=Area[]]").val(),$(this).val())' id='MdWd'>
<options>(options pulled in through php)</select>
我最终可能会加载这些选择器选项的多行。我可以在任何动态加载的行上使用$(this).val选择器获取当前值的值。
但我无法弄清楚如何从SAME行获取姐妹选择器的值(我一共有4个)以传递给我的函数。
我尝试过选择[name = Rack],选择[name = Rack []]如图所示。我试过[name = Rack](没有输入)。我尝试了很多东西,但我无法弄明白。
因为我允许动态加载的行,所以我可以有1到15行。每次更改其中一个选项时,如何从所有4个选择框中获取值?但从那一行得到价值?
我希望我解释得那么好。
编辑:
我发现如果我使用
$('select[name^=Rack]').val()
我至少得到第一行的值。但是如果我添加第二行或第三行或更多行,我仍然只从第一行选择选项中获取值。但至少它现在正在获得价值。
答案 0 :(得分:0)
我建议您创建一个脚本来添加这些输入字段。
html的
<button id="clickme">Append input field</button>
<div id="foo">
<input type="text" name="name1" placeholder="Your name">
</div>
.js(使用jQuery)
var field_name = 0;
$('body').on('click','#clickme', function(event) {
field_name++;
$('#foo').append('<input type="text" name="name'+field_name+'" placeholder="Your name">');
})
编辑:输入名为“name1”,“name2”,...,“nameN”。通过这种方式,您可以轻松检索其值。
由于您使用的是select,请执行与上面相同的步骤:
html的
<button id="clickme">Append options</button>
<select id="foo">
</select>
的.js
var option = 0;
$('body').on('click','#clickme', function(event) {
option++;
('#foo').append('<option name="'+option+'">Option name</option>')
})
检索可在.js上使用的值
$("body").on('change','#foo', function() {
// Code to retrieve values here
});