使用HTML ID作为数组

时间:2013-05-01 14:08:25

标签: jquery html

<select class="dName" name="dName">
    <option SELECTED value="#" DISABLED>========================</option>
    <option id="0" value="amensah">Abbey-Mensah, Michael</option>
    <option id="1" value="acharya">Acharya, Niraj</option>
    <option id="2" value="achonu">Achonu, Geoffrey C.</option>
    <option id="3" value="agustin">Agustin, Erie</option>
    <option id="4" value="agyemang">Agyemang, Kuragu</option>
</select>

我在Javascript中使用ID:

if (i[iVar] == $(".dName").find('option:selected').attr('id')) {

选择选择的选项。

现在假设我要删除 dName 选项的选项#2,而不是将#3更改为#2作为ID而#4更改为#3作为ID,我可以使用数组吗? ?这可能很容易,但有100多个选项会让它非常耗时

无论如何更改dName select中的ID,无论它用作数组的是什么?类似的东西:

<option id="[]" value="amensah">Abbey-Mensah, Michael</option>

因此,如果我删除列表中间的选项,它会保持编号结构的顺序吗?

分辨

if (i[iVar] == $(".dName").find('option:selected').attr('id')) {

已更改为:

if (i[iVar] == "the value of selection option") {

document.getElementById('first').innerHTML = phyList[$(".dName").find('option:selected').attr('id')].firstName;

已更改为:

document.getElementById('first').innerHTML = phyList[$(".dName").find('option:selected').index()-1].firstName; //.index()-1 because the first option is "=" which is not being used

所以我可以完全摆脱ID而不用担心删除选项声明。

1 个答案:

答案 0 :(得分:4)

您根本不需要ID,无论您在select元素中删除( .remove()?),都会获取所选index option }}:

仅举例:

$('select').on('change', function(){
  alert( $(':selected').index() );
});

http://jsbin.com/akefaq/2/edit