2010-05-24 5 views
0

목록이 동적으로 생성되는 경우 선택 가능한 목록에서 항목의 'ID'를 얻으려면 어떻게해야합니까? jquery ui selectable get id?

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

나는 var num = $('#selecable :selected').attr("option" , 'id');하지만, 얻을에만 [개체 개체] ...

올바른 방법은 무엇인가를 시도? 선택한 아이디의의

+3

ID를 숫자, 또는 오히려 수 없습니다 '다음 (마지막) 선택된 요소의 ID를 얻기 위해 $(ui.selected).attr('id')를 사용하여 그들과 함께 시작, ID가 어떤 종류의 접두사를 가지고 있는지 확인하십시오 그래서 그들은 유효합니다. –

+0

@Nick Craver 좋은 지적이지만, 내가 그것을 보았을 때 나는 그것을 놓쳤다. – ICodeForCoffee

+0

"#selecable"에 오타가 있습니다. –

답변

4

목록은 다음과 같습니다 편집 : 더 나은 methinnks

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

' :'selected '는'li' 요소에서 작동하지 않습니다. –

+0

음, 너는 논평하는 동안 네, 어리석은 짓을 편집 한 두뇌 경련이있었습니다. –

6

이 업데이트 : 요소를 선택한 경우

는 완성도를 들어, 플러그인이 요소에 클래스 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를 숫자로 시작할 수 없습니다.

:selectedoption 요소에서만 작동합니다.

0
jQuery('#selectable').selectable(function(){ 
    selected: function(event, ui) 
    { 
    jQuery(".ui-selected", this).each(function() 
    { 
      var objID=jQuery(this).attr("id"); 
    }); 
    } 
}); 
5

이 버전에는 특정 클래스 이름이 필요하지 않습니다. ..

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

답변에 대한 설명을 좀 해주실 수 있습니까? –

0

확인이

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

    }); 
-1
<script> 
$(function() { 
    $("#selectable").selectable({ 
     selected: function() { 
      var id = $(".ui-selected", this).attr("id"); 
      //alert(id); 
     } 
    }); 
}); 

+0

이 질문에 대답하지 않습니다. –

+0

감사합니다. Rob, 대답을 수정했습니다. – inquisitive

+1

답을 설명해주세요. 그래서 질문에 답하는 것이 아니라 사람들이 일하는 방식을 가르치는 것입니다. – Machavity