1
<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 选择中的 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,不用担心删除选项语句。

4

1 回答 1

4

您根本不需要 ID,无论您在元素中删除什么 ( .remove() ? ) 都采用 selected :selectindexoption

举个例子:

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

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

于 2013-05-01T14:13:44.160 回答