【问题标题】:How do I select a row in a table based on what ddl option is selected MVC?如何根据选择 MVC 的 ddl 选项在表中选择一行?
【发布时间】:2010-03-08 19:24:14
【问题描述】:

我有一个包含几行数据的表。我想根据在 ddl 上选择的选项显示一行。我该怎么做?

<script type="text/javascript" language="javascript">
     function optionSelected() {
          alert('HELP!!');
     }
</script>
...
<select id="optionSelect" onchange="optionSelected()">
    <option id="1">1</option>
    <option id="2">2</option>
    <option id="3">3</option>
</select>
<br />
<table id="optionList">
    <tr><td id="1">Option 1 Selected</td></tr>
    <tr><td id="2">Option 2 Selected</td></tr>
    <tr><td id="3">Option 3 Selected</td></tr>
</table>

【问题讨论】:

    标签: c# javascript jquery html asp.net-mvc


    【解决方案1】:

    首先我会使用 javascript 而不是内联来应用处理程序。其次,您没有说您如何知道下拉列表中的哪个元素对应哪一行,所以我假设它是选项的数值。请注意,行数从零开始计数,而您的选项从一开始计数。

    $('#optionSelect').change( function() {
         var val = int.Parse($(this).val(),10) - 1; // calculate row number
    
         $('#optionList').find('tr').hide() // hide all rows
                         .eq(val) // get the selected row
                         .show(); // and show it
    });
    

    【讨论】:

    • 是否需要在html中定义值,还是0,1,2,3不指定时默认?即&lt;option value='1'&gt;1&lt;/option&gt;
    • @Paul - 如果没有明确的 value 属性,val() 将返回 &lt;option&gt; 标记内的文本。
    • @tvanfosson - 我打算在
    • @user:注意元素 ID 必须是唯一的。我建议将选项值添加为行上的一个类,并使用hasClass(val) 过滤掉除所选行之外的所有行。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签