为事件分配多个ID

TH1*_*981 6 jquery

我有一个表单,我有各种时间段的多个文本输入,每个时间段都有一个我正在使用的其他代码的唯一ID设置.我也尝试使用了一个简单的代码一行位来实现时间条目剧本,但我有所有不同ID的28个不同的领域,这是会得到repetitve快.有没有办法在jquery代码中引用跨多个ID引用相同的函数而不重复键入?

例:

HTML

<input id="M_start_time1" />
<input id="M_end_time1" />
<input id="M_start_time2" />
<input id="M_end_time2" />
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('#M_start_time1').timeEntry({
    ampmPrefix: ' ',
});
$('#M_end_time1').timeEntry({
    ampmPrefix: ' ',
});
$('#M_start_time2').timeEntry({
    ampmPrefix: ' ',
});
$('#M_end_time2').timeEntry({
    ampmPrefix: ' ',
});
Run Code Online (Sandbox Code Playgroud)

任何建议都非常感谢!:)

小智 12

如果您仍想为事件分配多个ID,可以使用以下命令:

$('#M_start_time1, #M_end_time1, #M_start_time2, #M_end_time2').timeEntry({
    ampmPrefix: ' ',
});
Run Code Online (Sandbox Code Playgroud)


cas*_*nca 5

给你的input领域一个共同的类:

<input id="M_start_time1" class="something" />
<input id="M_end_time1" class="something" />
Run Code Online (Sandbox Code Playgroud)

并使用单个类选择器完成所有工作:

$('.something').timeEntry({
    ampmPrefix: ' ',
});
Run Code Online (Sandbox Code Playgroud)

  • @Aninemity - 没什么特别的.但是如果你已经有一个类名,那么使用`.addClass("newClass")`而不是`.attr("class","newClass")`所以你不要覆盖东西.稍后选择项目时,您只需要包含一个类名. (2认同)

Pet*_*tai 4

如果您感兴趣的所有 s 都以某个内容开头,并且您不感兴趣的 s中没有一个以该内容开头,则可以使用jQuery 开头属性选择器:ididinput

$('input[id^=M_]').timeEntry({
    ampmPrefix: ' '
});
Run Code Online (Sandbox Code Playgroud)

使用 jsFiddle 尝试开始属性选择器