我正在動態添加和刪除用戶創建的列表中的複選框。如果放在列表上的項目是一個單詞,但是如果它包含空格則無效。我明白爲什麼它不會工作,但無法找到如何成功拼接數組中正確的一個。當有2個字符串時,按空格分割數組
var boxCounter=0;
function addToCheckListNew(item){
var newSet = '<fieldset data-role="controlgroup" class="cbGroup' + boxCounter + '"></fieldset>';
$('.cbDiv').append(newSet);
var newBox = '<input type="checkbox" name="checkbox-' + boxCounter + '" id="checkbox-' + boxCounter + '" class="custom" /> <label for="checkbox-'+ boxCounter + '">'+item+'</label>';
$(".cbGroup" + boxCounter).append(newBox).trigger('create');
boxCounter++;
$("#new-list-page-iteminput").val("");
$("#new-list-page-itemlist").listview("refresh");
currentList.push(item);
}
//Delete the selected checkboxes
function deleteCheckedListNew(){
var checkedBoxes = $('form input:checked').parents('fieldset');
for (var i=0;i<checkedBoxes.length;i++){
var str = (checkedBoxes.text().trim());
str = str.split(" ");
var itemIndex = $.inArray(str[i],currentList);
if(itemIndex!==-1){
currentList.splice(itemIndex,1);
checkedBoxes.remove();
}
}
}
投入的複選框中的項目也被存儲在一個數組currentList,正是這一點我想從刪除它們。刪除checkedboxes很好。
識別沒有任何意義的是獲取fieldset的文本,這正是你正在做的。添加數據屬性會更有意義(簡單修復與問題無關)。如果用戶使用2個或更多字詞,會產生什麼影響......這不會被認爲是唯一的嗎?你可以在jsfiddle.net中提供演示版 – charlietfl
http://jsfiddle.net/u582wqzn/我第一次使用jsfiddle,並且我無法獲得與我的應用相同的刪除工作。我希望它能讓你更好地理解。你可以使用數據屬性來解釋嗎? –