0

我有一个 PHP 页面,它创建多个选择,具体取决于它提供之前的页面数量,并创建与选择的选项相同数量的选项(它是选择优先级)。

<select name="select1" id="idSelect" onchange="javascript:SelectOnChange();">
    <option value="Select one">Select one</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

我想要做的是,每当用户选择一个已经在另一个选择中选择的选项时,显示一个alert以便让他们知道他们的选择已经被采纳并拒绝更改。

每次用户从每个select.

4

3 回答 3

0

基本上,您正在寻找一个更改事件来遍历每个选择并通知重复项。

$("select").change(function() {
    var currentSelection = this.value;
    $("select").each(function() {
        if (this.value == currentSelection)  {
            alert("you've already chosen this!");
        } 
    });
});

像这样的东西应该工作

于 2013-04-12T19:11:16.140 回答
0
  • 监听变更事件
  • 获取元素的selectedIndex
  • 抓住所有的选择getElementsByTagName()
  • 循环并获取选定的索引
  • 比较看是否使用过
于 2013-04-12T19:11:36.193 回答
0

这可能有效:

var $selects = $('select');

// WHen a select is changed.
$selects.onchange(function() {
    // Storing it's selected value, assuming there is only one per select.
    var value = $(this).selected().first().attr('value');
    var $changedSelect = $(this);
    // For each select...
    $selects.each(function() {
        var $otherSelect = $(this);
        // ...that is not the one that just changed.
        if( ! $otherSelect.is($changedSelect)) {
            // If that other select's selected value is the same as the changed one's
            if($otherSelect.selected().first().attr('value') === value) {
                alert('...');
            }
        }
    });
}

不过我没有尝试过,如果它不起作用,您可能需要更改其中的一些细节。

于 2013-04-12T19:20:35.690 回答