我有一张桌子,有很多行。例如,来自行之一(所有行都相同):
<tr>
<td>
<input type="text" />
</td>
<td>
<textarea cols="40" rows="3" ></textarea>
</td>
<td>
<select id="chbTypes11">
//options
</select>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="checkbox" />
</td>
</tr>
默认情况下禁用select元素。 如何判断,输入值有价值?用于启用此行中的select元素
答案 0 :(得分:4)
如果通过'input'表示除select之外的任何类型的输入元素,则:
$("tr input, tr textarea").change(function() {
var $select = $(this).closest("tr")
.find("td > select");
$select.attr("disabled", !($.trim(this.value).length > 0));
});
// IE and checkbox change events don't like each other
$("tr :checkbox").click(function() {
$(this).closest("tr").find("td > select")
.attr("disabled", !$(this).is(":checked"));
});
如果您只是引用文本框,只需将选择器更改为$("tr input:text")
答案 1 :(得分:3)
$('tr:has(td input[value!=""])')
(或接近那个)
[value!=“”]应匹配所有非空值属性。
答案 2 :(得分:1)
您使用$(...).val()
检索值,但这还不足以解决您的问题。您需要知道...
的内容。由于这些<input>
元素可能是动态生成的,您可能希望根据某种事件(即输入框的更改事件)执行此操作,或者如果它们是服务器生成的,请为它们提供与该行中的其他元素可以让您自己更轻松。