繁体   English   中英

如何使用正则表达式在输入元素的名称属性上调用 onclick 函数?

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

我有以下 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...');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM