2009-11-20 71 views
0

我正在構建一個表格來對一系列項目進行排名。用戶將讀取該項目並在下拉列表中選擇1到20的等級。所有20個項目將同時顯示。確保用戶不會選擇同一個號碼進行多個選擇的最佳方法是什麼?然後我會顯示一條錯誤信息,「你已經排名將項目作爲5號」單選Dropdown

感謝

回答

1

我會建議像下面的功能。如果它是重複的,您可能需要添加某些內容以將選擇恢復爲某個默認值。

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

把物品與選項列表中移動元素向上或在列表中上下。

+0

完美適合這個問題,這是爲什麼這種方法存在。 – chelmertz 2009-11-20 12:47:45

+0

並使用拖放javascript(ajax)使其完全用戶友好。 – allesklar 2009-11-20 14:38:41

+0

@allesklar。確實。例如:http://tool-man.org/examples/sorting.html – 2009-11-20 16:45:45

0

有一個用於validation的jquery插件,可以幫助您定義規則。它只適用於提交,但它仍然不會發送表單,並告訴你哪個條目是錯誤的。看看它,可能會幫助你。