jQuery:单个更改事件以触发多个函数不起作用
jQuery: Single change event to fire multiple functions not working
我正在系统地构建jQuery函数,以便Web表单中各种输入的css类依赖于其他输入(即,当给定的输入具有给定的值时,"hide"类将从适当的后续输入中删除等)
我正在使用的jQuery的一个特定(工作)示例是:
$(document).ready(function(){
$("input[name$='q_4']").change(function(){
if(this.value == 'Yes') {
$('#qu_5').removeClass('hide');
} else {
$('#qu_5').addClass('hide');
}
});
});
在此示例中,从属问题div (#qu_5) 取决于通过单选按钮输入的值 (name=q_4) 为"是"。
因为我是通过数据库动态构建这些函数(用户可以编辑问题的属性,以便他们具有这些类型的显示依赖项),所以我最终会在具有多个相互依赖的输入的页面上获得此代码的多个块。每个代码块都有主问题的名称、从问题 id 和从站所依赖的值。这也按预期工作。
但是,有时一个输入应该揭示多个其他问题,因此我最终会得到这样的代码:
$(document).ready(function(){
$("input[name$='q_87']").change(function(){
if(this.value == 'yes') {
$('#qu_88').removeClass('hide');
} else {
$('#qu_88').addClass('hide');
}
});
$("input[name$='q_87']").change(function(){
if(this.value == 'yes') {
$('#qu_89').removeClass('hide');
} else {
$('#qu_89').addClass('hide');
}
});
});
这行不通。(并且确实停止了在该页面上工作的所有显示/隐藏功能)
我认为这是因为jQuery/javascript在触发两个不同的函数input[name$='q_87']").change
对同一事件不满意?这是我唯一能想到的。
有没有人对我如何以有效的方式实现我想要的东西有任何建议?谢谢!:)
如果你需要一个变量和一个数组,你可以这样写
var questions = {
"q_87":["qu_88","qu_89"],
"q_96":["qu_95","qu_99"]
}
$.each(questions,function(q,arr) {
$("input[name$='"+q+"']").change(function(){
$("'#"+arr.join(",#")+"'").toggleClass('hide',this.value == 'yes');
});
});
相关文章:
- Ember Data DS.Model's set函数不起作用
- 为什么我的JavaScript堆栈排序函数不起作用
- Javascript onchange()函数不起作用
- 另一个Ajax函数触发的Ajax函数不起作用
- 从PHP调用JS函数不起作用
- jQuery validate函数不起作用
- JS-窗口宽度函数不起作用
- javascript函数,该函数不起作用,但不会显示任何错误
- 为什么这个排序函数不起作用
- 为什么这个反向函数不起作用
- Javascript parseInt 函数不起作用
- 我的函数不起作用,Ajax调用,JQuery,调用外部?我不知道
- 主干构造函数不起作用
- Javascript:this.value 函数不起作用
- Mocha 的 beforeEach() 和 done() 函数不起作用
- 在jQuery中,我的函数不起作用
- jquery-ui-rails的draggable和dropable函数不起作用
- 数学函数不起作用
- Javascript-创建打印到HTML的函数不起作用
- 我上传了客户's服务器一个js函数不起作用