动态改变多类型元素的大小

Posted

技术标签:

【中文标题】动态改变多类型元素的大小【英文标题】:dynamically change size of multi-type elements 【发布时间】:2013-08-01 12:19:41 【问题描述】:

我正在编写一个脚本,该脚本应该根据 gridviews 列的宽度调整过滤输入的大小。它曾经只是文本框,我让它工作得很好:

脚本:

$("#<%= myGridView.ClientID %> th").each(function (index) 
    $('input[type="text"]:eq(' + index + ')').css('width', $(this).width() + 1.5);
    $('input[type="text"]:eq(' + index + ')').css('padding', '0');
);

然后事实证明,col-number 5 只能是一组值,因此应该是一个下拉列表。所以我想我会做这样的事情:

$("#<%= myGridView.ClientID %> th").each(function (index) 
    if (index === 5) 
        $('select').css('width', $(this).width() + 1.5);
        $('select').css('padding', '0');
    
    else 
        $('input[type="text"]:eq(' + index + ')').css('width', $(this).width() + 1.5);
        $('input[type="text"]:eq(' + index + ')').css('padding', '0');
    
);

结果如下:

如您所见,并不是我想要的。 有谁知道我做错了什么?

请求了 ASP:

--><input type="text" id="id1"/><!--Comments are needed to get rid of whitespace between text boxes
     --><input type="text" id="id2" /><!--
     --><input type="text" id="id3"/><!--
     --><%/*<input type="text" id="id4" />*/ %>
        <select>
            <option value="blank"></option>
            <option value="True">True</option>
            <option value="False">False</option>
        </select><!--
     --><input type="text" id="id5" /><!--
     --><input type="text" id="id6"/>
        <input type="button" id="clearFilters" value="Clear filters" style="position: relative; top: -3px; height: 19px; "/>
        <br />
        <asp:GridView ID="myGridView" runat="server" blablabla>etc.etc.</asp:GridView>

【问题讨论】:

【参考方案1】:

尝试将index == 5 更改为index == 4,因为索引是从零开始的。

似乎还有其他问题,但如果我们看到 html,我们可能会提供更好的帮助。

【讨论】:

是的,解决了部分问题:P 但我仍然得到一个涵盖整个 gridview 等的文本框

以上是关于动态改变多类型元素的大小的主要内容,如果未能解决你的问题,请参考以下文章

echarts动态改变图表的大小

PL/SQL数组

Java源码之ArrayList分析

vector

iOS 中用于交互元素的动态类型

数组和集合的区别总结