Javascript 有人能简化这个JS代码吗?
将其简化为ELSE-IF或Case语句或任何可以使其更简单的语句。谢谢Javascript 有人能简化这个JS代码吗?,javascript,jquery,Javascript,Jquery,将其简化为ELSE-IF或Case语句或任何可以使其更简单的语句。谢谢 $(function() { $('#Class').change(function() { $('#YearLevel,#Dept,#Course,#SY,#Section,#Subject,#appointment').val(''); this.form.submit(); }); }); $(function() { $('#YearLevel').cha
$(function() {
$('#Class').change(function() {
$('#YearLevel,#Dept,#Course,#SY,#Section,#Subject,#appointment').val('');
this.form.submit();
});
});
$(function() {
$('#YearLevel').change(function() {
$('#Dept,#Course,#SY,#Section,#Subject,#appointment').val('');
this.form.submit();
});
});
$(function() {
$('#Dept').change(function() {
$('#Course,#SY,#Section,#Subject,#appointment').val('');
this.form.submit();
});
});
etc...
试试这个。它应该做你想做的
var t = '#Class,#YearLevel,#Dept,#Course,#SY,#Section,#Subject,#appointment'
$(function() {
$(t).change(function() {
var id = "#" + this.id;
var s = t.split(id);
s = s[1].match("^,") == null ? s[1] : s[1].substring(1, s[1].length)
$(s).val('');
//this.form.submit();
});
});
演示
var t='#班级#年级#部门#课程#SY#部门#科目#预约#
$(函数(){
$(t).更改(函数(){
var id=“#”+this.id;
var s=t.分割(id);
s=s[1]。匹配(“^,”)==null?s[1]:s[1]。子字符串(1,s[1]。长度)
美元(s).val(“”);
//这个.form.submit();
});
});代码>
因为根据您的注释,文档中有一个隐含的顺序,所以您可以简单地给每个元素一个公共类,然后选择这些元素来绑定相同的处理程序
在处理程序中,从接收事件的元素后的元素开始获取元素的子片段,并使用该子片段设置值
$(函数(){
var elems=$(“.myClass”).change(函数(){
元素切片($.inArray(this,elems)+1).val(“”);
//这个.form.submit();
});
});代码>
这不是一个“为我做”的平台。你必须表明你在哪里做了尝试,而不仅仅是要求别人去做。考虑使用多个选择器查看jQuery站点。这个代码看起来很简单。到底是什么问题?除了将所有事件处理程序分配包装在一个$(function(){
..})中之外,您无法做很多事情来简化它
由于每个ID列表的值设置为“
”减少了一项,这是否意味着文档中有一个顺序?如果是这样,那将有助于简化$(function(){IF…ELSE IF…}哦,太棒了!@JaromandaX为这句好话欢呼如果你在任命时启动变更处理程序,那么很可能会中断,var id=“#”+$(this.attr(“id”)+,“
是var id=this.id
:p-你甚至可以$(t.split('.'.'.''.'+this.id+'))[1]).val(“”);
为了让布伦丹·艾奇哭泣:p@James,jQuery非常宽容,所以它可能不会:p