使用多个wilcards(超过2个)进行选择

时间:2016-02-22 23:41:15

标签: jquery

我想选择id开头的所有元素:

billServicesPerformed

并以

结束

quantityunitPrice

我试过这个:

$(document).on('change key paste keyup', '[id^="bill_servicesPerformed"][id$="quantity"][id$="unitPrice"]', function() {

但它不起作用..

1 个答案:

答案 0 :(得分:0)

您正在尝试选择idbill_servicesPerformed开头并以quantity unitPrice结尾的元素。这显然不起作用,因为元素不能以这两个字符串结束。

您需要使用逗号对选择器进行分组,以便选择以quantity unitPrice结尾的元素,因此您可以使用以下选择器:

[id^="bill_servicesPerformed"][id$="quantity"],
[id^="bill_servicesPerformed"][id$="unitPrice"]

您的事件监听器将是:

$(document).on('change key paste keyup', '[id^="bill_servicesPerformed"][id$="quantity"], [id^="bill_servicesPerformed"][id$="unitPrice"]', function() {});

或者,您也可以使用基本的正则表达式:

var $elements = $('[id]').filter(function () {
  return this.id.match(/^bill_servicesPerformed.*(?:quantity|unitPrice)$/);
});