我有一個jquery的小問題。我有一個有很多選項的表單。jquery表單問題。從選擇框中添加刪除選項
在表格中,我可以使數據是私有的或公開的;
- 使數據專用:是,否(單選按鈕)
如果點擊是,顯示有2只形式選擇一個隱藏的div; a。成員名稱搜索(文本輸入) b。選定的成員(多選擇框)。
如果我點擊使數據隱私「是」,然後搜索用戶名,它會顯示找到的結果,如建議框。當我點擊一個用戶名(在一個找到的結果顯示在建議框中),我可以成功地將它添加到我的多選框(選定成員)
如果我決定公開並單擊使數據私人「沒有「添加一些成員後,我的多選擇框(選定的成員),我刪除所有選項,並在那裏添加1選項(公共視圖)。
問題始於此處。在提交表單之前,如果我再次單擊數據隱私「是」,(1;點擊是,選擇一些成員,2;點擊否,並從選擇框中刪除所有選項,3;再次點擊yes),搜索一些成員,點擊它們,它會在我的多選框(選定成員)中添加2次。有趣的是,如果我這樣做了2次(添加一些成員,點擊隱私和刪除選項),下一次當我想添加一些成員時,它將添加2次。如果我做了5次,它增加了5次。
我不知道什麼可以導致這種情況,如果有人能幫助我,我會很高興。
這是我的jquery;
// Private Options
$('input[name=make_private]').bind('click', function() {
// Make It Private
if ($(this).val() == 1) {
$('.frm_make_private_1').fadeIn(1000);
// Get clicked member
$('a.member').live('click', function() {
var username = $(this).text();
var id = $(this).attr("id");
// Add it to the Allowed Members Multi Selectbox
$('#allowedMembers').append($("<option></option>").attr("value", id).text(username).attr("selected","selected"));
// Don't load the page
return false;
});
}
// Make It Public
else {
// Hide everything about Product Privacy
$('.frm_make_private_1').fadeOut(1000);
// Remove All Options
$("#allowedMembers option").each(function() {
$(this).remove();
});
// Add Public Option
$('#allowedMembers').append($("<option></option>").attr("value", 0).text("Public View"));
}
});
謝謝您的時間和關注提前。
你好,羅恩,首先感謝你的回答。我應該在哪裏使用它,我應該如何使用它?我不是專家,如果你能幫忙,我會很高興。 – Revenant 2011-04-16 17:33:57
將我的建議更改的代碼添加到我的答案 – 2011-04-16 17:42:53
羅恩,謝謝你的回覆。不幸的是,添加.unbind()infront的bind('click')和live('click')並沒有訣竅:( – Revenant 2011-04-16 19:11:54