如何使用正则表达式对输入元素的name属性调用onclick函数

how to call onclick function on name attribute of an input element by using a regular expression?

本文关键字:属性 name 调用 onclick 函数 元素 何使用 正则表达式 输入      更新时间:2023-09-26

我有以下HTML标记:

<select class="form-control travel_mode" name="travel_request[travel_stays_attributes][0][travel_mode]" style="width: 139px;">
    <option value=""></option>
    <option disabled="true" selected="selected">Please Select</option>
    <option value="1">Flight</option>
</select>
<select class="form-control travel_mode" name="travel_request[travel_stays_attributes][1448001168204][travel_mode]" style="width: 139px;">
    <option value=""></option>
    <option disabled="true" selected="selected">Please Select</option>
    <option value="1">Flight</option>
</select>
<select class="form-control travel_mode" name="travel_request[travel_stays_attributes][1448002208899][travel_mode]" style="width: 139px;">
    <option value=""></option>
    <option disabled="true" selected="selected">Please Select</option>
    <option value="1">Flight</option>
</select>
<select class="form-control travel_mode" name="travel_request[travel_stays_attributes][1448002215357][travel_mode]" style="width: 139px;">
    <option value=""></option>
    <option disabled="true" selected="selected">Please Select</option>
    <option value="1">Flight</option>
</select>

我想在name属性的这些元素上调用onclickonchange函数,方法是编写一个正则表达式,这样我可以在单击上述任何下拉菜单时调用单个JS函数。如何为上述标记编写正则表达式?

您不需要正则表达式;所有元素上都有一个class,所以你可以使用它:

$('select.form-control').change(function() {
    console.log('I changed value...');
});

如果你想让它更具体地针对这些元素,你可以在一个以选择器开头的属性中使用name属性:

$('select[name^="travel_request[travel_stays_attributes]"]').change(function() {
    console.log('I changed value...');
});