家伙,我再次乞求帮助。我无法解决这个问题-我所需要的只是更新表单中name属性的文本索引。我想向用户显示表中的一行,并且当他/她单击加号时,会添加另一行。为了使表单在服务器端工作,我需要对name参数重新编制索引。这就是我要尝试的方式:
function reindex () {
$("table").find("tr.faixa").each(function(index, value) {
value.find("input.faixa_min").attr("name", "data[" + index + "][BonusRecarga][faixa_min]"); // <- here's where I get the error
value.find("input.faixa_max").attr("name", "data[" + index + "][BonusRecarga][faixa_max]");
value.find("input.valor_bonus").attr("name", "data[" + index + "][BonusRecarga][valor_bonus]");
value.find("input.perc_bonus").attr("name", "data[" + index + "][BonusRecarga][perc_bonus]");
});
}
这是表格的一部分:
<tr class="faixa">
<td>
<input name="data[0][BonusRecarga][faixa_min]" class="faixa_min" type="text" required="required"/>
</td>
<td>
<input name="data[0][BonusRecarga][faixa_max]" class="faixa_max" type="text" required="required"/>
</td>
<td>
<input name="data[0][BonusRecarga][valor_bonus]" class="valor_bonus" type="text" required="required"/>
</td>
<td>
<input name="data[0][BonusRecarga][perc_bonus]" class="perc_bonus input-small" type="text" required="required"/>
</td>
<td>
<span class="help-inline"><i class="icon-plus" style="cursor: pointer"></i></span>
<span class="help-inline"><i class="icon-minus" style="cursor: pointer"></i></span>
</td>
</tr>
我也尝试过使用通用的for(var i = 0; i
您知道为什么find()方法对“ value”变量不起作用吗?
提前感谢。
value
是DOM元素对象,而.find()
是jQuery方法。您需要创建一个jquery对象:
var $value = $(value);
//Then use $value.find()
尝试使用$(this).find('input...')...
。它可以正常工作,并且在each
内部更好。
jquery的更快结果是使用EQ函数并追加。https://api.jquery.com/eq/
如果不是您要寻找的情商,请发表评论,并进一步调查您的问题。