当它们都具有相同的 class 名称时,如何 select 特定文本字段的值
How to select the value of a specific text field when they all have the same class name
我有一个 table,它是使用 PHP (Laravel) 中的 foreach 生成的。 table 有 3 列:"Name"、"Notes" 和 "Deactivate"。 Deactivate 是一个带有选项 "Activate and "Inactive 的 select。"Name" 列由带有 class=name
的文本输入字段组成。"Deactivate" 选项有一个class 个 edit_cat
。
<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>
当我 select 第 3 列中的一个选项时,"deactivate",我的 JQuery 还需要获取第一列中 "category_name" 的文本值。
我已经尝试了在 JQuery API 和这里的 SO 中可以找到的所有内容。我使用了 closest
和 find
,与 input:text .name
或 td.name
或其他十几个 permutations.But 我只得到 undefined
返回,或错误.
$(".edit_cat").on("change", function () {
var value = $(this).closest(".name-input").val();
console.log(value);
});
我做错了什么?非常感谢 !
var value = $(this).closest("tr").find("td .name").val();
伙计,你快搞定了。
- 使用 closest 来查找其最近的父级,因为输入只是一个兄弟级。
- 你需要做最接近的父
tr
然后找到特定的输入。
Description: For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
我有一个 table,它是使用 PHP (Laravel) 中的 foreach 生成的。 table 有 3 列:"Name"、"Notes" 和 "Deactivate"。 Deactivate 是一个带有选项 "Activate and "Inactive 的 select。"Name" 列由带有 class=name
的文本输入字段组成。"Deactivate" 选项有一个class 个 edit_cat
。
<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>
当我 select 第 3 列中的一个选项时,"deactivate",我的 JQuery 还需要获取第一列中 "category_name" 的文本值。
我已经尝试了在 JQuery API 和这里的 SO 中可以找到的所有内容。我使用了 closest
和 find
,与 input:text .name
或 td.name
或其他十几个 permutations.But 我只得到 undefined
返回,或错误.
$(".edit_cat").on("change", function () {
var value = $(this).closest(".name-input").val();
console.log(value);
});
我做错了什么?非常感谢 !
var value = $(this).closest("tr").find("td .name").val();
伙计,你快搞定了。
- 使用 closest 来查找其最近的父级,因为输入只是一个兄弟级。
- 你需要做最接近的父
tr
然后找到特定的输入。
Description: For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.