jquery逻辑不工作
Posted
技术标签:
【中文标题】jquery逻辑不工作【英文标题】:jquery logic not working 【发布时间】:2012-12-31 10:50:00 【问题描述】:我有以下代码,我想要的逻辑如下:
-
用户不能两次选择一项运动。用户可能将运动保存在数据库中,考虑到这一点,数据库记录将被加载并显示,并且只要它们没有出现在列表中,用户就可以添加其他运动。现在我已经将 Baseball 设置为来自数据库,但是当我再次选择它时,我的逻辑是允许用户再次添加它。我做错了什么?
JSFIDDLE:http://jsfiddle.net/Jrqqq/
var allVals = [ id: 1, value: "Baseball"];
$.each(allVals, function (k, v)
$("#results").append("<label class=\"wList\"><input checked=\"checked\" class=\"wList-chk\" name=\"wList[]\" type=\"checkbox\" value=\""
+ v.id
+ "\">"
+ v.value
+ "</label>");
);
$(function ()
var sports = [ id: 1, value: "Baseball" ,
id: 2, value: "Soccer" ,
id: 3, value: "Basketball" ,
id: 4, value: "Volleyball" ,
id: 5, value: "Tennis" ,
id: 6, value: "Running" ,
id: 7, value: "Swimming"];
$("#sports").autocomplete(
source: sports,
select: function (event, ui)
if ($.inArray(ui.item.id, allVals) == -1)
allVals.push(ui.item.id);
$("#results")
.append("<label class=\"wList\"><input checked=\"checked\" class=\"wList-chk\" name=\"wList[]\" type=\"checkbox\" value=\""
+ ui.item.id
+ "\">"
+ ui.item.value
+ "</label>");
$('input.wList-chk[type="checkbox"][value="' + ui.item.id + '"]').parent().effect('highlight', , 1500);
ui.item.value = "";
else
ui.item.value = "";
$('input.wList-chk[type="checkbox"][value="' + ui.item.id + '"]').parent().effect('highlight', , 1500);
);
);
$(document).on("change", ".wList-chk", function ()
if ($(this).attr('checked'))
return;
else
var thisVal = $(this).val();
var index = $.inArray(thisVal, allVals);
allVals.splice(index, 1);
$(this).parent('.wList').remove();
);
【问题讨论】:
【参考方案1】:您似乎没有将棒球 ID 添加到 allVals
数组中。
【讨论】:
这证明我需要休息一下。谢谢以上是关于jquery逻辑不工作的主要内容,如果未能解决你的问题,请参考以下文章