我有很多可选对象。
您可以单击它们,然后将其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的人来说,这必须非常容易解决。
最佳答案
我解决了自己的问题。
现在,它非常容易。
查看并节省一些时间:
{
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();
}