2013-01-16 33 views
9

Tôi đang cố gắng lấy thuộc tính tùy chỉnh từ một sự kiện chọn menu UI của JQuery. Tôi nhận được không xác định khi tôi cố gắng làm kịch bản dưới đây.Cách lấy thông tin thuộc tính từ một sự kiện chọn menu JQuery UI

$("#menu").menu({ 
select: function(event, ui) { alert(ui.item.attr("tag")); } 
});  

Html

<ul id="menu" style="position:absolute;"> 
<li><a href="#" tag="something">Aberdeen</a></li> 
<li><a href="#" tag="some">Ada</a></li> 
<li><a href="#" tag="something1">Adamsville</a></li> 
<li><a href="#" tag="something2">Addyston</a></li></ul> 

Cảm ơn bạn.

Cập nhật: thêm mã đầy đủ trong trường hợp tôi liên kết sai, tôi mới sử dụng jQuery. Tôi cố gắng gói với $ (document) .ready theo khuyến cáo nhưng vẫn bị undefined

<!doctype html> 
<html> 
<head> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 
<script> 
    $(document).ready(function(){ 

     $("#menu").menu({ 
      select: function(event, ui) { alert(ui.item.attr("tag")); } 
     });  
    }); 

</script> 
</head> 
<body>  
<ul id="menu" style="position:absolute;"> 
<li><a href="#" tag="something">Aberdeen</a></li> 
<li><a href="#" tag="some">Ada</a></li> 
<li><a href="#" tag="something1">Adamsville</a></li> 
<li><a href="#" tag="something2">Addyston</a></li></ul> 
</body> 
</html> 

Trả lời

1

cố gắng để quấn bên document.ready

$(document).ready(function(){ 

     $("#menu").menu({ 
      select: function(event, ui) { alert(ui.item.attr("tag")); } 
     });  
}); 
+0

Tôi cố gắng gợi ý của bạn, nhưng vẫn nhận được không xác định . – user1983108

+0

yeah cùng ở đây nó không xác định. – May

+0

@mbaylis đã viết câu trả lời đúng, không hiểu tại sao Kanishka có 2 phiếu bầu ... –

0

Điều này là do các tài liệu không được tải. Viết kịch bản bên trong document.ready chức năng

$(document).ready(function(){ 

    //jquery code 
}); 
7

Yếu tố trở lại trong "ui.item" đối tượng jquery là yếu tố li (trong ví dụ của bạn). Những gì bạn cần làm là nhận được đó là phần tử con (các thẻ) để truy cập các thuộc tính và trích xuất các giá trị của thẻ:

var menu = $('#menu'); 
$(document).ready(function(){ 
    menu.menu({ 
     select: function(event, ui) { 
      alert(ui.item.children().attr('tag')); 
     } 
    }); 
}); 

http://jsfiddle.net/4bY7d/88/

0
$("#menu").menu({select: function(event, ui) { 
    tag = ui.item.context.children[0].attributes.tag.value; 
    alert (tag) 
}}); 
Các vấn đề liên quan