我有一大堆可选择的对象。
您可以点击它们,然后将其ID添加到表单中,当取消选择它时,它会再次从表单中删除。
我有一个正常工作的版本,直到我注意到有时如果你点击太快,id会被多次添加。
为禁止这种情况,我在列表项中添加了一个类,以便将其归类为处理。
我的问题:
如何获取指向DOM元素的指针,该元素被单击以添加类
什么可以运行所有“选定”,但这会导致其他问题:
$( ".ui-selected", this ).each(function() {
if($(this).hasClass('processing'))
return;
$(this).addClass('processing');
});
我现在所拥有的 - 只是让元素触发事件......是错误的:
$(".selectgroup").bind("mousedown", function(e) {
e.metaKey = true;
}).selectable( {filter: "li"},
{
stop: function(){
// Add to Form
$( ".ui-selected", this ).each(function() {
if($(this).hasClass('processing'))
return;
$(this).addClass('processing');
var itemid = $(this).attr("value");
var formhtml ='<input type="hidden" name="tags[]" id="id'+itemid+'" value="'+itemid+'">';
$("#tagform").append(formhtml);
});
},
{
unselected: function( event, ui ) {
itemid = "#id" + ui.unselected.value;
$('').removeClass('processing');
alert(itemid);
$(itemid).remove();
}
}.................................
对于那些适合jquery的人来说,这一定很容易解决。
答案 0 :(得分:1)
我解决了自己的问题。
当你现在,它很容易。
查看并节省一些时间:
{
selected: function(event,ui){
// Add to Form
var item = $(ui.selected);
if(item.hasClass('processing')){
alert("return");
return;
}
item.addClass('processing');
var itemid = item.attr("value");
alert("S ID - " + itemid);
var formhtml ='<input type="hidden" name="tags[]" id="id'+itemid+'" value="'+itemid+'">';
$("#tagform").append(formhtml);
}
},
{
unselected: function( event, ui ) {
itemid = "#id" + ui.unselected.value;
$(ui.unselected).removeClass('processing');
alert(itemid);
$(itemid).remove();
}