我正在使用下面的jsfiddle
我需要以某种方式弄清楚一个计数器,告诉我在下面哪些灰色框上放置了多少/哪些红色块(因为灰色框将代表一个值)
非常感谢任何帮助/输入!
更新:http://jsfiddle.net/hP3jc/1/(包括一个示例计数器模板,用于计数增加1并向下减1.我现在只需要编码。
答案 0 :(得分:1)
好的,我现在有部分内容。
$('.selector1, .selector2, .selector3, .selector4, .selector5').droppable({
hoverClass: 'hovered',
drop: function (event, ui) {
$(this).addClass(ui.draggable.attr("class"));
CountClasses($(this));
}
});
function CountClasses($this) {
var classes = $this.attr("class").split(" ");
var count = 0;
var t = 0;
for (t = 0; t < classes.length; t++)
{
if (classes[t].substring(0, 6) == "option") {
count++;
}
}
alert(count);
}
这应该是你的起点。
现在,您需要做的就是当您拿起一个红色框时,从所有.selector框中删除它的类。您可以使用简单的jQuery选择器来查找具有该类的所有选择器框。
$(".selector.option1").each(function(){
$(this).removeClass(".option1");
});
我认为上述情况虽然未经测试,但应该有效。
这有道理吗?
修改强>
将此添加到您的.draggable({
代码中以获取红色框的类。这是代码应从所有.selector框中删除该类的地方。
start: function () { alert( $(this).attr("class").split(" ")[0]) }
编辑2
http://api.jquery.com/attribute-starts-with-selector/
这将向您展示如何选择部分名称。
所以$("div[class^="selector"].optionX").each....
非常未经测试,但看起来很近