我有一个使用PHP(Laravel)中的foreach生成的表。该表有3列:“名称”,“注释”和“停用”。 “取消激活”是带有“激活和“不活动”选项的选择。“名称”列由带有class=name
的文本输入字段组成。“取消激活”选项的类为edit_cat
。 / p>
<tr>
<td>{{ Form::text("category_name[]",$category->name,['class'=>'name',])}}</td>
<td>{{ Form::text("notes[]",$category->notes)}}</td>
<td>{{ Form::select("category_value[]",['active'=>'Active' ,'inactive' => 'Inactive'],$category->status,['class'=>'edit_cat'])}}</td>
</tr>
当我从第3列中选择一个选项“停用”时,我的JQuery还需要获取第一列中“ category_name”的文本值。
我已经尽力在JQuery API和SO中找到了所有内容。我使用了closest
和find
以及input:text .name
或td.name
或其他十几种排列方式,但是我只得到undefined
或一个错误。
$(".edit_cat").on("change", function () {
var value = $(this).closest(".name-input").val();
console.log(value);
});
我在做什么错?非常感谢 !
答案 0 :(得分:1)
var value = $(this).closest("tr").find("td .name").val();
你几乎把它弄了。
tr
,然后找到特定的输入。说明:对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先,获得与选择器匹配的第一个元素。