0

我想让我的jQuery UI自动填充结果可拖动。尽管我已经尝试了几种方法,但仍然无法正常工作。我需要协调每个可拖动元素的初始化,所以不幸的是this对我没有用处。jQuery自动填充结果可拖动

这里是我的方法:(简体)

_renderItemData : function (ul, item) { 
    return $("<li />") 
    .data("ui-autocomplete-item", item) 
    .append("<a id='SearchResult"+item.number+"'><div style='vertical-align:middle;line-height:25px;font-size:25px;'><img src='" + item.icon + "' style='width:25px;position:relative;top:2.5px;'/><span style=''>" +item.label + "</span></div></a>") 
    .appendTo(ul); 

    $("#SearchResult"+item.number) 
     .draggable({ 
      helper:"clone", 
      stop: function(event, ui) { 
       alert("Dropped"); 
       doSomethingAndPassElementNumber(item.number); 
      } 
     }); 
}, 

有谁知道我可以实现我的目标是什么?

在此先感谢!如果有任何问题,请提问,我很感激每一个有用的建议!

回答

1

我成立了一个小提琴: http://jsfiddle.net/T2WkF/6/

继承人与列表项的工作自动完成用户界面UI +功能,拖动一个例子。

HTML:

<div class="ui-widget"> 
    <label for="tags">Tags:</label> 
    <input id="tags" /> 
</div> 

的jQuery:

$(function() { 
    var availableTags = [{ 
     label: "foo", 
     desc: "1", 
     number: "0" 
    }, { 
     label: "foo1", 
     desc: "2", 
     number: "1" 
    }, { 
     label: "foo2", 
     desc: "3", 
     number: "2" 
    }]; 
    $("#tags").autocomplete({ 
     source: availableTags, 
     focus: function (event, ui) { 
      $('li.ui-menu-item a:contains("' + ui.item.value + '")').draggable({ 
       helper: "clone", 
       stop: function (event, ui) { 
        console.log($(this).text()); 
       } 
      }); 
     } 
    }); 
}); 

这是或多或少只是一个虚拟的,但我希望回答你的问题。

+0

感谢您的回放!它几乎按照我想要的方式工作,但还不完全。 '//此处警告值 \t \t \t alert(ui.item.value); \t \t \t //但是在停止函数中我得到:“Uncaught TypeError:无法读取未定义的属性'值' $('li.ui-menu-item a:contains(”'+ ui.item.value + ')')')。draggable({helper:“clone”,stop:function(event,ui){alert(ui.item.value);}});' –

+0

保持小提琴更新您的代码,请发送链接在共同体中,所以我们更容易帮助你解决更多的问题。 – ggzone

+0

这里是我更新的代码:http://jsfiddle.net/T2WkF/5/ –