执行$ .find时出现错误“未定义不是函数”

问题描述 投票:0回答:3

家伙,我再次乞求帮助。我无法解决这个问题-我所需要的只是更新表单中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”变量不起作用吗?

提前感谢。

javascript jquery iteration
3个回答
8
投票

value是DOM元素对象,而.find()是jQuery方法。您需要创建一个jquery对象:

var $value = $(value);
//Then use $value.find()

2
投票

尝试使用$(this).find('input...')...。它可以正常工作,并且在each内部更好。


-1
投票

jquery的更快结果是使用EQ函数并追加。https://api.jquery.com/eq/

如果不是您要寻找的情商,请发表评论,并进一步调查您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.