Dojo FilteringSelect如何具有水平滚动

时间:2012-02-14 13:44:17

标签: javascript html css dojo

我有一个选择字段,其中我的选项值超过250个字符,这就是用户无法读取选择框中的值的原因。

有没有办法让select成为水平滚动或者我可以包装文本。

4 个答案:

答案 0 :(得分:0)

您可以使用style属性指定框的宽度。唯一的问题是,你看不到整个单词。它切断了它。

<select size="1" name="blah" style="width:250px">

我的建议是尝试限制选择字段中的字符数。 250个字符相当长。您也可以考虑使用不同的输入控件。

答案 1 :(得分:0)

正如其他评论者所说,为了您的用户,您应该重新考虑您的用户界面。

但是,如果这不受您的控制,CSS white-space属性可能有所帮助。

答案 2 :(得分:0)

我同意评论者的意见,你应该重新考虑用户界面。也就是说,如果你遇到那么长的选项,你可以试试chosen javascript plugin。它基本上劫持了一个有针对性的选择元素,并用一组时髦的div替换它,这些div就像一个select元素。但是,你可以随心所欲地设计div。

答案 3 :(得分:0)

这是我的过滤器选择和一个跨节点,它将作为下拉窗口的dumy窗格。

<span dojoAttachPoint="dumyPane" style="z-index: 1; position: absolute; float: none; margin-left: 20px; margin-top: 10px;">
<input type="text" dojoType="dijit.form.FilteringSelect" dojoAttachPoint="myDrop" size="50" style="width:400px;"> 

以下是将我的下拉列表节点附加到dumypane的代码段。

dojo.connect(myDrop, "openDropDown", this, function(val){
  dojo.connect(myDrop.dropDown, "onClick", this, function(){

 if(typeof  myDrop.dropDown != "undefined" &&  myDrop.dropDown !=null){         
    myDrop.setDisplayedValue(event.srcElement.innerText);                                               
    }

   });
     if(typeof  myDrop.dropDown != "undefined" &&  myDrop.dropDown !=null){ 
        var ddNode = myDrop.dropDown.domNode;                           
    dojo.style(ddNode,{overflowX: "scroll",overflowY: "scroll",width: "400px",height: "100px"});

   dumyPane.appendChild(ddNode);
    }

});