为什么ui.item.attr(“id”)返回未定义的值?
我正在
- 之间进行排序,但当我尝试获取
ui.item.attr("id")
我得到了未定义但其他变量运行良好,如$(this).attr('id')
和'+ui.sender.attr('id')
但我正在搜索元素拖动的
的索引。
我的js文件:
$( init ); function init() { $(".list-items").sortable({ connectWith: '.list-items', items: "li:not(.item.new)", placeholder: 'place-holder', scroll: false, tolerance: "pointer",update: function (event, ui) { //alert($(this)); }, receive : function(e, ui) { alert('zone : '+ ui.item.attr("id")); alert('Where the item is dropped : '+$(this).attr('id')); // Where the item is dropped alert('from where the item is dragged : '+ui.sender.attr('id')); // from where the item is dragged if(ui.item.text()=="51173115") { jConfirm('item '+ui.item.context.id+' capacite Cuisson epuise vous voulez continue comme meme ?', 'alerte', function(r) { if(r) { } else { $(ui.sender).sortable('cancel'); // refuse element to be dropped } } } }).disableSelection(); }
我的jsf代码:
为什么我得到未定义的值,我怎样才能得到这个值?
问题是ui.item
是一个对象的集合,所以你需要使用ui.item.context.id
来获取作为被拖动元素的项的id,如jQuery Sortable文档中所指定的:
ui.item
输入:jQuery
表示当前拖动元素的jQuery对象
所以你的情况ui.item
将是被拖动的
,因为它们没有设置id属性, ui.item.context.id
将始终为空。
如果您在li
上设置了id,那么您可以访问它: http : //jsfiddle.net/qj4GG/2/
您想要获得什么属性? 你需要什么?
你可以试试ui.item.option.childNodes[0].parentNode.parentNode.attributes[2].value
只需将attributes []索引值更改为id的顺序。 这里我在id之前有两个属性。
this._on( this.input, { autocompleteselect: function( event, ui ) { ui.item.option.selected = true; alert(ui.item.option.childNodes[0].parentNode.parentNode.attributes[2].value); this._trigger( "select", event, { item: ui.item.option }); },