如何优化我的JavaScript?

时间:2012-02-24 03:06:43

标签: javascript jquery

我继承了一段代码,它具有以下一系列功能:

$("#data[User][notify_one_day_out]").change(function () {
    $("#updatenotificationsform").submit();
}

$("#data[User][notify_one_month_out]").change(function () {
    $("#updatenotificationsform").submit();
 }

这一直在继续。我如何编写一个执行相同操作的函数,因为每个ID都以数据开头。对不起,我是一个JS新手

由于

3 个答案:

答案 0 :(得分:4)

这样的事可能适合你:

$('[id^="data"]').change(function() {
 $("#updatenotificationsform").submit();
}

基本上说:抓住所有带有字符串“data”的Id的元素,你可以在这里阅读更多相关内容:http://api.jquery.com/attribute-starts-with-selector/

如果有帮助,请告诉我!

修改

或者,如果您可以修改标记,则可以为所有这些元素指定相同的类,然后只使用类选择器进行选择。

答案 1 :(得分:0)

除了@ Deleteman的声音建议之外,请记住您可以为$()指定多个选择器,例如:

$(  "#data[User][notify_one_month_out]",
    "#data[User][notify_one_day_out]",
    "#some-other-selector",
    // ...
).change(function () {
  $("#updatenotificationsform").submit();
}

答案 2 :(得分:0)

你实际上可以将那些Jquery选择器叠加到足够的帮助中,或者你真的有很多它们吗?

$("#data[User][notify_one_day_out], #data[User][notify_one_month_out]").change(function ()     
{
    $("#updatenotificationsform").submit();
}