【问题标题】:jquery ui selectable get id?jquery ui 可选择获取 id?
【发布时间】:2010-05-24 19:09:42
【问题描述】:

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

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

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

什么是正确的方法?

【问题讨论】:

  • ID 不能是数字,或者不能以数字开头,请确保您的 ID 具有某种前缀,以便它们有效。
  • @Nick Craver 好点,当我看到那个时我错过了。
  • 你的“#selecable”有错别字
  • $('.ui-selected', this ).attr('id');
  • 你可以使用这个方法。 stackoverflow.com/questions/15621111/… ----------------------------------------------- -------------------------

标签: jquery user-interface get selectable


【解决方案1】:

更新:

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

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

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


jQuery UI 可选插件calls a callback whenever you select an element,你只需要提供它:

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

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

:selected 仅适用于 option 元素。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      $('#selectable').selectable(function(){
          selected:function(){ 
              var idlist = $(this).attr('id');
              //do something with the list...of id's
          }
      });
      

      【讨论】:

      • 是的,我脑抽筋了,在你评论的时候编辑了这个愚蠢的东西:)。
      【解决方案4】:
      jQuery('#selectable').selectable(function(){
          selected: function(event, ui)
          {
           jQuery(".ui-selected", this).each(function() 
           {
                var objID=jQuery(this).attr("id");
           });
          }
      });
      

      【讨论】:

        【解决方案5】:
        jQuery('#selectable').selectable( function() {
            selected: function(event, ui)
            {
                alert(ui.selected.id);
            }
        });
        

        【讨论】:

        • 您能否在回答的同时给出一些解释?
        【解决方案6】:

        检查这个..

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

        【讨论】:

          【解决方案7】:
          <script>
          $(function () {
              $("#selectable").selectable({
                  selected: function () {
                      var id = $(".ui-selected", this).attr("id");
                      //alert(id);
                  }
              });
          });
          

          【讨论】:

          • 这不能回答问题。
          • 您可能想解释一下您的答案。 SO 不仅仅是回答问题,而是教人们事情是如何运作的。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          相关资源
          最近更新 更多