我正在構建一個表格來對一系列項目進行排名。用戶將讀取該項目並在下拉列表中選擇1到20的等級。所有20個項目將同時顯示。確保用戶不會選擇同一個號碼進行多個選擇的最佳方法是什麼?然後我會顯示一條錯誤信息,「你已經排名將項目作爲5號」單選Dropdown
感謝
我正在構建一個表格來對一系列項目進行排名。用戶將讀取該項目並在下拉列表中選擇1到20的等級。所有20個項目將同時顯示。確保用戶不會選擇同一個號碼進行多個選擇的最佳方法是什麼?然後我會顯示一條錯誤信息,「你已經排名將項目作爲5號」單選Dropdown
感謝
我會建議像下面的功能。如果它是重複的,您可能需要添加某些內容以將選擇恢復爲某個默認值。
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。
把物品與選項列表中移動元素向上或在列表中上下。
有一個用於validation的jquery插件,可以幫助您定義規則。它只適用於提交,但它仍然不會發送表單,並告訴你哪個條目是錯誤的。看看它,可能會幫助你。
完美適合這個問題,這是爲什麼這種方法存在。 – chelmertz 2009-11-20 12:47:45
並使用拖放javascript(ajax)使其完全用戶友好。 – allesklar 2009-11-20 14:38:41
@allesklar。確實。例如:http://tool-man.org/examples/sorting.html – 2009-11-20 16:45:45