2011-11-22 82 views
0

我想找到一种方法来控制在数据绑定下拉列表框中显示的项目的宽度。我目前正在尝试使用jQuery来控制显示的选项的宽度,但是遇到问题需要使用正确的语法。任何帮助将不胜感激,或更好的想法处理这个问题。 DropDown是一个ASP控件,因此可以选择部分是如下所示的问题。控制下拉列表框宽度

<script src="../../scripts/jquery-1.7.js" type="text/javascript"></script> 
<script type="text/javascript"> 

    $(document).ready(function() { 
    $('#<%=DropDownList1.ClientID %>').css({ 'width': '10' }); 
    $('#<%=DropDownList1.ClientID %>'option).css({ 'width': '70' }); 

    alert("Testing."); 
    }); 
</script> 

更新:我被要求提供从代码中的一些HTML的背后,也有在DDL超过3000条记录可用,所以这里是第几....

<select name="ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder2$DropDownList1" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder2$DropDownList1\',\'\')', 0)" id="ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder2_DropDownList1"> 
<option selected="selected" value="434"> </option> 
<option value="1160">-</option> 
<option value="638"> 
</option> 
<option value="702"> [%iScreen%] = getnum(&quot;iScreen&quot;) 
[%iButton%] = getnum(&quot;iButton&quot;) 
[%iProg%]  = getnum(&quot;iProg&quot;) 
[%itest1%] = getnum(&quot;itest1&quot;) 
[%iSelectMY%] = getnum(&quot;iSelectMY&quot;) 
[%iDSAPNO%] = getnum(&quot;iDSAPNO&quot;) 
[%iVehicle%] = getnum(&quot;iVehicle&quot;) 
[%iIESC%]  = getnum(&quot;iIESC&quot;) 
[%iEngine%] = getnum(&quot;iEngine&quot;) 
[%iDSA%]  = getnum(&quot;iDSA&quot;) 
[%iEXY%]  = getnum(&quot;iEXY&quot;) 
[%iACCPNO%] = getnum(&quot;iACCPNO&quot;) 
[%sPart%]  = </option> 
<option value="113"> 
</option> 
<option value="342"> 
</option> 
<option value="628"> 
    Isolation Solenoid 

    Please Depress and Release Brake 

    When You Press 'On' The Modulator is Drive For 15 Seconds. 

    Check That No Braking Force Is Exerted. 
</option> 
<option value="2898">%</option> 
<option value="3095">&amp;8BK</option> 
<option value="3091">&amp;WZA</option>here 

长列出所有,我意识到在选项中也有块文本。这是我无法控制的数据库后端的本质。

谢谢

+0

你能检查在这个页面上生成的html,并用下拉列表生成的html更新你的问题吗? – JesseBuesking

回答

2

你缺少的下拉列表ID和“选项”和期权之间的空间是字符串之外:

$('#<%=DropDownList1.ClientID %> option').css({ 'width': '70' }); 
+0

您的语法是正确的谢谢,但是当单击向下箭头时,此方法不控制DDL的宽度。记录长度仍然强制关闭网页的DDL宽度。 – htm11h

1

你无法控制的<option>元素的宽度,因为它们包含在下拉式UI中。只有<select>可以设置宽度。

+0

roryf是对的。我不知道这是否有助于您的情况(因为我不确定您需要调整宽度),但[请检查此链接](http://css-tricks.com/1994-select-cuts-关选项 - 在-IE-固定/)。 – JesseBuesking

+0

我的一些db记录几乎有1000个字符。宽度从网页上消失。 – htm11h

+0

@JesseB - 感谢您的链接,我的问题是,我想截断项目,我没有一个属性设置选择宽度。 ASP控件下拉列表框具有宽度,但即使该记录不在ddl显示列表中,它也会自动调整为数据绑定连接中最宽的记录。 – htm11h