etriad
etriad

Reputation: 459

jquery wildcard selector - index of form element array

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

Answers (1)

Ciprian Mocanu
Ciprian Mocanu

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

Related Questions