4

ユーザーがデフォルトから変更された必要のないアイテムを選択したときに、イベントをバインドしようとし<select> ています。

$(select).change();アイテムが変更された場合にのみ機能します。

同じデフォルトのオプションでも、オプションの1つを選択することで機能するものがあるのだろうか。

$('#page_body').on('select', '.pop_pin_select', function() {
});

これは私がこれまでに試したことですが、うまくいきません。

4

1 に答える 1

1

これを回避する方法があります。インデックス 0 のオプションをデフォルトで選択し、動的で手動で選択できない (つまりdisabled )にし、インデックス 0 に変更する場合を除いて、通常どおりonchangeをリッスンします。次に、 onchange.options[0]を選択したラベルに設定し、選択をそれに変更します。ここに例があります

例からの関連する JavaScript

document.getElementById('sel')
    .addEventListener('change', function () {
        if (this.selectedIndex === 0) return;
        this.options[0].value = this.value;
        this.options[0].textContent = this.options[this.selectedIndex].textContent;
        this.selectedIndex = 0;
    }, false);​

onchangeは、値が変更されていなくてもインデックスが変更されているため、ユーザーが同じ選択を行うと起動します。

于 2012-12-11T18:57:16.873 に答える