jQuery:选择具有唯一 ID 的所有输入(正则表达式/通配符选择器)
我的网络表单上有一些文本框,它们的 id 如下:
txtFinalDeadline_1
txtFinalDeadline_2
txtFinalDeadline_3
txtFinalDeadline_4
在我的 jQuery 中,我如何找到所有这些文本框以便为它们分配值。在我有下划线并且它们都被命名为 txtFinalDeadline 之前,我可以做到这一点并且它有效。
$(this).find("#txtFinalDeadline").val(formatDate);
然而,那时它们都被命名为同一个东西。现在我在名称后面有 _x,我不知道如何为它们分配与以前相同的值。
I have some textboxes on a webform that have ids like this:
txtFinalDeadline_1
txtFinalDeadline_2
txtFinalDeadline_3
txtFinalDeadline_4
In my jQuery how do I find all of those in order to assign a value to them. Before I had the underscore and they were all named txtFinalDeadline I could do this and it worked.
$(this).find("#txtFinalDeadline").val(formatDate);
However, that was when they were all named the same thing. Now I have the _x after the name and I'm not sure how to go about assigning that same value as before to them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不知道我是否可以保证“按顺序”,但是这个选择器应该可以工作:
$(this).find('input[id^=textFinalDeadline_]').val(formatDate);
即使这样,jQuery 也被优化为以特殊方式处理 id,并且可能只处理 1 个 id。
更好的方法是让这些文本字段使用一个类(可能是
date
),这样您就可以只使用'.date'
选择器。I don't know if I can guarantee "in order", but this elector should work:
$(this).find('input[id^=textFinalDeadline_]').val(formatDate);
Even then, jQuery is optimized to handle
id
s in a special way, and may only process 1 id.A better way would be to have these textfields use a class (perhaps
date
) so you could just use the'.date'
selector.有多种方法可以执行正则表达式或通配符选择:
使用 jQuery 选择器的内联通配符:更新: 我注意到自 jQuery 1.3 以来此方法不再有效。 2.
使用CSS3选择器:
使用
.filter()
&match()
:最后你可能想使用 正则表达式选择器。
There are multiple ways to do a regex or wildcard select:
Using jQuery selector's inline wildcards:update: I noticed that this method is no longer working since jQuery 1.3.2.
Using CSS3 selectors:
Using
.filter()
&match()
:At last you might want to use a regex selector.
子选择器对您有帮助吗?
Does Child Selector help you?