如何合并2个jQuery函数
问题描述:
下面是我的jQuery代码,我想这两个功能合并为1如何合并2个jQuery函数
$("#first_name").change(function() {
$('.showvalue').text("First Name Successfully Updated.");
});
$("#last_name").change(function() {
$('.showvalue').text("last Name Successfully Updated.");
});
答
这将显示“名成功更新。”名字和“姓氏成功更新”。对于姓氏:
var names = ['First', 'Last'];
for (var i = 0; i < names.length; i++) {
var name = names[i];
$("#" + name.toLowerCase() + "_name").change(function() {
$('.showvalue').text(name + " Name Successfully Updated.");
});
}
因此,这将保持您的字段名称的大小写。
该解决方案也很容易扩展更多的领域。
答
合并选择器,然后在事件处理程序检查ID,以确定要使用哪个消息:
$("#first_name, #last_name").change(function() {
var prefix = this.id === 'first_name' ? 'First' :'Last';
$('.showvalue').text(prefix + " Name Successfully Updated.");
});
+0
作品:)。非常感谢。 –
答
您可以使用类选择
(例如重新使用的javascript的元件相同功能的类:changeTrigger)。
<p>First Name <input type="text" id="first_name" class="changeTrigger" data-ref="First Name"/></p>
<p>Last Name <input type="text" id="last_name" class="changeTrigger" data-ref="Last Name"/></p>
<p class='showvalue'></p>
其次,定义一个函数在同一类
$(".changeTrigger").change(function(){
//You may use data-ref to attach "FIELD NAME" on element.
var refName = $(this).data("ref");
$('.showvalue').text(refName + " Successfully Updated.");
});
你需要在你想要做什么更清晰处理多元素。你在寻找某种通用函数来处理所有.change()事件吗? –
如果您认为您的问题已被回答,请按“✔”按钮选择其中一个答案作为接受的答案。 – leroydev