Javascript 如何基于选项按钮启用和禁用文本框多个字段
我发现下面的代码是基于选项按钮启用和禁用文本框的,但我想创建20多个类似的字段 我想为此写很多脚本,有没有简单的方法来创建20个这样的字段 请任何人帮我解决这个问题Javascript 如何基于选项按钮启用和禁用文本框多个字段,javascript,jquery,Javascript,Jquery,我发现下面的代码是基于选项按钮启用和禁用文本框的,但我想创建20多个类似的字段 我想为此写很多脚本,有没有简单的方法来创建20个这样的字段 请任何人帮我解决这个问题 $(窗口).load(函数(){ $(函数(){ window.invalidate_输入=函数(){ if($('input[name=opt13]:选中').val()=“Yes”) $(“#其他”).removeAttr('disabled'); 其他的 $(“#其他”).attr('disabled','disabled'
$(窗口).load(函数(){
$(函数(){
window.invalidate_输入=函数(){
if($('input[name=opt13]:选中').val()=“Yes”)
$(“#其他”).removeAttr('disabled');
其他的
$(“#其他”).attr('disabled','disabled');
};
$(“输入[name=opt13]”)。更改(使输入无效);
使输入无效();
});
}); //]]>代码>
你在任何学校学习过吗
对
其他
输入MatexBranch:
首先,要使代码可重用,请删除任何特定代码,如$(“#…”)
。相反,使用此
导航到元素。为此,您可以使用jquery的.sides
函数
另外,不需要if…else
。您可以将值设置为true
或false
以启用/禁用元素
另外,不要使用名称
在收音机上绑定更改
,而是使用选择器的组合,因为每个组的名称
都不同
$(函数(){
var invalidate_输入=函数(){
$(this).sides('.input value').attr('disabled',$(this.val()!=“Yes”);
};
$(“.section input[type='radio']”)。在(“更改”上,使输入无效);
});代码>
你在任何学校学习过吗
对
其他
输入MatexBranch:
你在任何学校学习过吗
对
其他
输入MatexBranch:
您可以这样做,为每个radio/checkbox元素创建一个jQuery对象。并添加一个数据属性(在本例中为数据目标),在其中为目标输入字段填写id或类名。在这种情况下,你不需要让他们成为兄弟姐妹
var toggleInput = {
init: function() {
var $toggles = $('.js-toggle-input');
$toggles.each(function(index, elem) {
var $elem = $(elem);
$elem.on('change', function(e) {
var currentTarget = $(e.currentTarget);
var targetInputField = currentTarget.data('target');
if ( currentTarget.is(':checked') && currentTarget.val() == "Yes") {
$(targetInputField).remoeAttr('disabled');
} else {
$(targetInputField).attr('disabled', 'disabled');
}
});
});
}
}
$(function() {
toggleInput.init();
});
你在任何学校学习过吗
对
其他
输入MatexBranch:
在这里工作:
首先,这不是一个好方法window.load
具有$(function(){})
。为什么…for
或foreach
或$。如果对变量进行参数化,则每个
或迭代变量的多种方法中的任何一种都会起作用。如果这是一个具有验证和条件格式的相当长/复杂的表单,也许可以看看这个@haxxxton,最好使用更通用的代码,并使用this
查找要操作的元素。@Rajesh,我对OP所指的“类似于此的字段”的理解是错误的,而不是除了name
之外完全相同。。我以为他们想要一个更健壮的表单构建解决方案,而这个解决方案是针对html结构提供的。非常感谢!