Reputation: 459
I've got a form with several multi-dimensional names. I am using the jquery *= selector to pick-out groups on them and perform functions when they change. I am trying to figure out how to get the individual array indexes of the form element name.
I want to be able to identify the doorID by it's individual array 'parts'. e.g door_6x7, or 0 for opening[door_6x7][0]
JQUERY:
$("select[name*=door_6x]").change(function() {
var doorID = $(this).attr("name");
alert(doorID);
});
SAMPLE HTML:
<td width="50"><select name="opening[door_6x7][0]">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></td>
<td width="50"><select name="opening[door_6x7][1]">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></td>
<td width="50"><select name="opening[door_6x7][2]">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select></td>
<td width="50"><select name="opening[door_6x7][3]">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select></td>
Upvotes: 1
Views: 2592
Reputation: 2206
I'm not sure if this is what you want:
$("select[name*=door_6x]").change(function() {
var doorID = $(this).attr("name");
var x = doorID.match(/\[[0-9]+\]/i);
alert(x[0].match(/[0-9]+/i));
});
Upvotes: 1