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

时间:2013-08-01 12:19:42

标签: jquery asp.net css gridview dynamic-sizing

我正在编写一个脚本,该脚本应该根据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 个答案:

答案 0 :(得分:1)

尝试将index == 5更改为index == 4,因为索引为零。

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