【发布时间】:2014-05-13 11:43:03
【问题描述】:
我有一个选择
<select class="situation">
<optgroup label="Situation">
<option value="1">Married</option>
<option value="2">Divorced</option>
<option value="3">single</option>
</optgroup>
</select>
当用户选择一个选项时,属性名称的第一个索引的值是情境的id,第二个是页面上的位置。
$('.situation').on('change', function(){
var inputSituation = $( "input.situation" );
var s = 0;
$( "input.situation" ).each(function() {
if ($('select.toto option:selected').text() == 'Married'){
$(this).attr('name', 'situation[2][' + s + ']');
$(this).attr('name', 'statut[2][' + s + ']');
}else if($('select.toto option:selected').text() == 'Divorced'){
$(this).attr('name', 'situation[1][' + s + ']');
$(this).attr('name', 'statut[1][' + s + ']');
}/*...*/
});
s += 1;
});
我的意见
<div>
<input type="checkbox" name="situation[1][0]" >
<input type="hidden" name="statut[1][0]" >
</div>
第二个索引的值,输入时必须相同,属性为'name' status和'statut'。
必须这样做:
<div>
<input type="checkbox" name="situation[1][0]" >
<input type="hidden" name="statut[1][0]" >
</div>
<div>
<input type="checkbox" name="situation[1][1]" >
<input type="hidden" name="statut[1][1]" >
</div>
但是,结果是:
<div>
<input type="checkbox" name="situation[1][1]" >
<input type="hidden" name="statut[1][2]" >
</div>
<div>
<input type="checkbox" name="situation[1][3]" >
<input type="hidden" name="statut[1][4]" >
</div>
【问题讨论】:
-
尝试在您的情况下增加
s。并且放个jsFiddle会更容易调试。
标签: jquery input jquery-selectors attributes each