4

<select> 当用户从默认值更改为不必要的项目时,我正在尝试绑定事件。

$(select).change();仅在项目更改时才有效。

我想知道是否有一些东西可以通过选择其中一个选项来工作,即使它是相同的默认选项。

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

这是我到目前为止所尝试的,但它不会工作。

4

1 回答 1

1

有办法解决这个问题;将索引 0 处的选项设置为默认选择、动态且不可手动选择(即禁用)并正常监听onchange,但更改为索引 0 时除外。然后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 回答