2013-09-24 107 views
1

我想在我的代碼中得到檢查listitem的索引,但無法找出方法。我的HTML代碼如下 -獲得檢查listitem索引的最佳方法是什麼?

  <h2 data-dojo-type="dojox/mobile/RoundRectCategory">Select Your Range :</h2> 
       <ul id="list" data-dojo-type="dojox/mobile/RoundRectList" data-dojo-props='select:"single"'> 
        <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props='checked:true'>Within 1 KM</li> 
        <li data-dojo-type="dojox/mobile/ListItem" >Within 3 KM</li> 
        <li data-dojo-type="dojox/mobile/ListItem" >Within 5 KM</li> 
       </ul> 

我嘗試使用dojo.query到達checked listitem,但它也不起作用。有人可以幫助我如何實現這一目標?

我的道場代碼 -

dojo.query("#list>li:checked").forEach(function(node) { alert("in for loop"); }); 

我試着用下面這是給我的索引0對應於默認選中的列表項,但是當我選擇的任何其他列表項,我仍然得到一個警報代碼提醒默認選定的listitem。當我檢查Google chrome的開發人員工具時,我發現data-dojo-props ='checked:true'對於默認的listitem,當我選擇任何其他listitem時不會更改爲false。這是listitem的正確行爲嗎?理想情況下,它應該改變爲錯誤和檢查屬性爲新的選定listitem應該改爲'真',但這不會發生。任何人都可以解釋這種行爲,並告訴我獲得選定listitem的索引的最佳方式?

dojo.query("#list>li[data-dojo-props='checked:true']").forEach(function(node,index) { alert("in for loop"+ index); }); 

注意 - 我與我的listItems中的工作已經很不錯,但我仍然希望得到這個幫助,只是要注意的這個功能使用Dojo單選按鈕解決。

回答

-1

通過使用JQuery。

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
</head> 
<body> 
<h2 data-dojo-type="dojox/mobile/RoundRectCategory" >Select Your Range :</h2> 
       <ul id="list" data-dojo-type="dojox/mobile/RoundRectList" data-dojo-props='select:"single"'> 
        <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props='checked:true'>Within 1 KM</li> 
        <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props='checked:true' >Within 3 KM</li> 
        <li data-dojo-type="dojox/mobile/ListItem" >Within 5 KM</li> 
       </ul> 
    <input type="button" value="get selected items" onclick="GetData()" /> 
<script type="text/javascript"> 
function GetData(){ 
var Value = ""; 

$("#list li").each(function(index,ele){ 
if($(ele).attr("data-dojo-props") === "checked:true") 
Value += ","+$(ele).html(); 
}); 
alert(Value); 
} 
</script> 

</body> 
+1

謝謝Sameer的幫助,但我想在dojo中實現它。 –

+0

這不在Dojo中,也不解釋代碼的作用。 – Bucket

相關問題