具有动态id的jQuery选择
我有一个动态生成的表单,并且具有动态生成的id(以及可能的类)。 表格是相同的,但他们有相关的ID添加到最后。
如何选择每组输入并为每个输入应用代码?
我正在尝试使用$(’input [id ^ = @ id_airline_for_]’),但无法让它飞起来。 我怀疑我遗漏了一些基本的jQuery知识,这些知识阻碍了我,因为我确信这是动态表单的常见问题。
编辑:我应该更新,我希望能够在单击输入时执行某些操作,但仅限于最后匹配id的类。
为了简单起见,假设我希望#id末尾带有匹配id的所有输入在单击一个时消失(仅为了参数)。
$("input[id^='id_airline_for_']").each(function() { var id = parseInt(this.id.replace("id_airline_for_", ""), 10); var airline = $("#id_airline_for_" + id); var flightNumber = $("#id_flight_number_for_" + id); // do stuff with airline and flightNumber s });
你可以使用$("input#id_airline_for" + id)
(其中id
是你的号码,例如8),但是如果你删除标签名称并且只是使用它会更快:
$("#id_airline_for" + id);
以下内容将为您提供名称中包含id_airline_for
所有输入。
$("input[id^='id_airline_for']")
如果您需要在每个表单的基础上执行此操作,您将需要为每个表单提供自己的ID,并以这种方式分组选择它们。
$("#formJetBlue input[id^='id_airline_for']") $("#formNwa input[id^='id_airline_for']") $("#formOceanic input[id^='id_airline_for']")
我不认为你应该使用@符号并且你错过了一些引号:
而不是:$(’input [id ^ = @ id_airline_for_]’)
试试这个:$(“input [id ^ =’id_airline_for_’]”)
看到这个:
http://docs.jquery.com/Selectors/attributeStartsWith#attributevalue
选择具有指定属性的元素,其值包含给定的子字符串
$('input[id *= id_airline_for]').attr('checked', headerChecked);
它将在’id’属性中选择包含’id_airline_for’字符串的所有元素