Jquery 如果输入(类型=文本)有值,则启用select元素
我有一张桌子,有许多行。例如,其中一行(所有行都相同):Jquery 如果输入(类型=文本)有值,则启用select元素,jquery,Jquery,我有一张桌子,有许多行。例如,其中一行(所有行都相同): //选择权 默认情况下,“选择元素”处于禁用状态。 如何判断,输入值是否有价值?对于启用此行中的select元素如果“输入”是指select以外的任何类型的输入元素,则: $("tr input, tr textarea").change(function() { var $select = $(this).closest("tr") .find("td > select
//选择权
默认情况下,“选择元素”处于禁用状态。
如何判断,输入值是否有价值?对于启用此行中的select元素如果“输入”是指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输入:text”)
即可使用$(…).val()检索值,但这还不足以解决问题。您需要知道为…
输入什么。由于这些
元素可能是动态生成的,因此您可能希望根据某种事件(即输入框的更改事件)来执行此操作,或者如果它们是由服务器生成的,则为它们提供与该行中其他元素相对应的ID,以使您的操作更轻松
$('tr:has(td input[value!=""])')
(或接近于此)
[value!=”“]应该匹配所有非空值属性。哦,我喜欢这个,这是一个很好的答案。+1但您忘记了在清除输入框后再次禁用它的else;-)input[value]
本身就足以匹配非空值。我用于动态添加的行$(“tr input:text”).live('change',function(){/});
$('tr:has(td input[value!=""])')