代码之家  ›  专栏  ›  技术社区  ›  Tony Borf

单一选项下拉列表

  •  0
  • Tony Borf  · 技术社区  · 16 年前

    我正在建立一个表格来排列一系列项目。用户将阅读该项目并在下拉列表中选择从1到20的评分。所有20个项目将同时显示。确保用户没有为多个选项选择同一个号码的最佳方法是什么?然后我会显示一条错误消息,“您已经将一个项目排名为5”

    谢谢

    3 回复  |  直到 16 年前
        1
  •  1
  •   Nikolas Stephan    16 年前

    我建议使用以下函数。如果所选内容重复,您可能需要添加一些内容以将其还原为某个默认值。

    function checkDupe(element) {
        var dupe = false;
    
        $("select").each(function() {
        if ($(this).attr("id") != $(element).attr("id") && $(this).attr("value") == $(element).attr("value")) {
                dupe = true;
    
                alert("You have already ranked an item number " + $(element).attr("value"));
    
                return;
            }
        });
    
        return dupe;
    }
    

    只需将它添加到onchange事件的所有下拉列表中即可。

    <select id="a1" onchange="checkDupe(this)">
    

    需要注意的是,每个列表必须具有唯一的ID。

        2
  •  2
  •   Mark Byers    16 年前

    将项目放在列表中,并在列表中选择向上或向下移动元素。

        3
  •  0
  •   stefita    16 年前

    有一个jquery插件用于 validation ,这可以帮助您定义规则。它只在提交时工作,但是它仍然不会发送表单并告诉您哪个条目是错误的。看看它,也许它能帮助你。