2012-05-27 59 views
0

我想知道是否有任何方法可以在dojo中獲得一個列表框,其中的選項由圖像加上一段文本組成。應該導致這樣的事情的清單:在dojo中有豐富選項的列表框

列表框: - 圖像/ ICON1 +文本1 - 圖像/ ICON2 +文本2 ... - 圖像/ iconN + textN

我已經能夠使用下拉列表進行操作,但這不是我所需要的。我必須是列表框。

在此先感謝。

回答

0

您可以使用dojo CheckedMultiSelect。

<select name="someName" id="someId" multiple="true" data-dojotype="dojox.form.CheckedMultiSelect"> 
    <option id="someOptionId"><img src="images/aim-icon.gif" border=0>Blah Blah</option> 
</select> 
0

最後,我做這個做:

<html> 
<head></head> 
<body> 
    <select id="list" size="3" style="width:100px;"></select> 
    <input id="clear" type="button" value="Clear"> 
    <input id="populate" type="button" value="Populate"> 
    <script type="text/javascript" src="dojo.js"></script> 
    <script> 
     dojo.addOnLoad(function(){ 
      dojo.connect(dojo.byId("clear"), "onclick", this, clear); 
      dojo.connect(dojo.byId("populate"), "onclick", this, populate); 
     }); 
     dojo.addOnLoad(populate); 

     function populate(){ 
      for(var i = 0; i < 10; i++){ 
       var html = i%2 ? '<img src="image1.png"> Item ' + i : 
           '<img src="image2.png"> Item ' + i; 
       dojo.create("option", {innerHTML: html, value: i }, 'list'); 
      } 
      dojo.byId('populate').disabled = true; 
      dojo.byId('clear').disabled = false; 
     } 

     function clear(){ 
      var list = dojo.byId("list"); 
      var ops = list.options; 
      while(ops.length){ 
       ops.remove(0);    
      } 
      dojo.byId('populate').disabled = false; 
      dojo.byId('clear').disabled = true; 
     } 
    </script> 
</body> 
</html> 

我希望它能幫助!