0

如果列表是动态创建的,如何获取可选列表中项目的“id”?

  <ul id="selectable">
  <li id='1'>..</li>
      .
      .
      <li...
  </ul>

我试过var num = $('#selecable :selected').attr( "option" , 'id' );但只得到 [object Object] ...

什么是正确的方法?

4

7 回答 7

6

更新:

为了完整起见,如果选择了一个元素,插件会ui-selected向该元素添加一个类。因此,您可以通过以下方式获取当前选定元素的 ID:

$('#selectable .ui-selected').attr('id');

但请注意,可以选择多个元素。


每当您选择一个元素时, jQuery UI 可选插件都会调用一个回调,您只需提供它:

$("#selectable" ).selectable({
   selected: function(event, ui) { ... }
});

也就是说,正如尼克已经提到的那样,ID 不能以数字开头。

:selected仅适用于option元素。

于 2010-05-24T19:17:43.240 回答
5

此版本不需要特定的类名。用于$(ui.selected).attr('id')获取(最后一个)选定元素的 ID:

$( "#selectable" ).selectable({
    selected: function(event, ui) {
        alert( $(ui.selected).attr('id') );
    }
});
于 2011-11-21T01:58:46.100 回答
4

所选 ID 的列表将是:编辑:更好的方法

$('#selectable').selectable(function(){
    selected:function(){ 
        var idlist = $(this).attr('id');
        //do something with the list...of id's
    }
});
于 2010-05-24T19:16:10.200 回答
0
jQuery('#selectable').selectable( function() {
    selected: function(event, ui)
    {
        alert(ui.selected.id);
    }
});
于 2012-07-05T14:19:22.000 回答
0
jQuery('#selectable').selectable(function(){
    selected: function(event, ui)
    {
     jQuery(".ui-selected", this).each(function() 
     {
          var objID=jQuery(this).attr("id");
     });
    }
});
于 2011-07-26T13:02:40.217 回答
0

检查这个..

  $( ".ui-selected", this ).each(function() {
   var index = $( "#selectable li" ).attr(id);

    });
于 2014-01-07T12:29:47.743 回答
-1
<script>
$(function () {
    $("#selectable").selectable({
        selected: function () {
            var id = $(".ui-selected", this).attr("id");
            //alert(id);
        }
    });
});

于 2014-06-27T23:43:33.907 回答