使用jquery,切换一组单选按钮的最佳方式是什么

使用jquery,切换一组单选按钮的最佳方式是什么,jquery,asp.net-mvc,drop-down-menu,radio-button,toggle,Jquery,Asp.net Mvc,Drop Down Menu,Radio Button,Toggle,我有一个带有下拉菜单的aspnet mvc网页。下拉列表中的选项包括: 大的 小的 在下拉列表旁边,我有一系列单选按钮 @Html.RadioButton("quantity","12",true)12 @Html.RadioButton("quantity","24",false)24 @Html.RadioButton("quantity","36",false)36 @Html.RadioButton("quantity","48

我有一个带有下拉菜单的aspnet mvc网页。下拉列表中的选项包括:

  • 大的
  • 小的
在下拉列表旁边,我有一系列单选按钮

      @Html.RadioButton("quantity","12",true)12  
      @Html.RadioButton("quantity","24",false)24 
      @Html.RadioButton("quantity","36",false)36 
      @Html.RadioButton("quantity","48",false)48 
当我将下拉选择更改为“小”时,单选按钮列表将更改为

      @Html.RadioButton("quantity","24",true)24
      @Html.RadioButton("quantity","48",false)48
      @Html.RadioButton("quantity","72",false)72
      @Html.RadioButton("quantity","96",false)96
如果你把下拉菜单改回“大”,单选按钮就会改回原来的设置


这样做的最佳方式是什么?我是否应该在页面上同时显示两组单选按钮,并在下拉列表中隐藏与所选项目无关的单选按钮。有没有更优雅的方法呢?

你的方法是在页面上同时显示两个集合,并在下拉列表中隐藏与所选项目无关的集合,这听起来很不错,不过我个人会把事情扭转过来,让所有八个单选按钮都可见,然后去掉下拉列表(大小将从所选收音机推断)

大概是这样的:

Big:    ( ) 12  ( ) 24  ( ) 36  ( ) 48
Small:  ( ) 24  ( ) 48  (o) 72  ( ) 96

如果你给他们诸如B-24、S-24、S-96等的值,那么在你的动作方法中把这些片段分开是很简单的,你不需要乱用javascript,而且——更重要的是——你的最终用户会很高兴能够通过一次点击而不是三次点击来选择他们的选择(一个用于打开下拉列表,另一个用于选择选项,第三个用于选择单选按钮).

您在页面上同时显示这两个集合并在下拉列表中隐藏与所选项目无关的集合的方法听起来很正确,尽管我个人会扭转局面,让所有八个单选按钮都保持可见并删除下拉列表(大小将从所选单选项推断)

大概是这样的:

Big:    ( ) 12  ( ) 24  ( ) 36  ( ) 48
Small:  ( ) 24  ( ) 48  (o) 72  ( ) 96

如果你给他们诸如B-24、S-24、S-96等的值,那么在你的动作方法中把这些片段分开是很简单的,你不需要乱用javascript,而且——更重要的是——你的最终用户会很高兴能够通过一次点击而不是三次点击来选择他们的选择(一个用来打开下拉列表,另一个用来选择选项,第三个用来选择单选按钮)。

看看这个正在运行的演示。我想这就是你要找的

加价

<select>
    <option value="big">Big</option>
    <option value="small">Small</option>
</select>

<span id="big">
<input type="radio" value="24" checked/>12
<input type="radio" value="24" />24
<input type="radio" value="24" />36
<input type="radio" value="24" />48
</span>
<span id="small" style="display:none;">
<input type="radio" value="24" checked/>24
<input type="radio" value="24" />48
<input type="radio" value="24" />72
<input type="radio" value="24" />96
</span>

看看这个工作演示。我想这就是你要找的

加价

<select>
    <option value="big">Big</option>
    <option value="small">Small</option>
</select>

<span id="big">
<input type="radio" value="24" checked/>12
<input type="radio" value="24" />24
<input type="radio" value="24" />36
<input type="radio" value="24" />48
</span>
<span id="small" style="display:none;">
<input type="radio" value="24" checked/>24
<input type="radio" value="24" />48
<input type="radio" value="24" />72
<input type="radio" value="24" />96
</span>

如果您显示的是实际生成的HTML而不是asp页面,则可能会有更多的人能够为您提供想法。如果您显示的是实际生成的HTML而不是asp页面,则可能会有更多的人能够为您提供想法。@jim-
toggle
如果只有两个元素要显示隐藏,则会起作用,在这种情况下是这样的,但它是我不允许多个容器显示/hide.shankaer-是的,绝对不允许,我的评论基于手头的问题-但是完美的观察。@jim-
切换
将在只有两个元素显示hide时起作用,在这种情况下,但不允许多个容器显示/hide.shankaer-是的,绝对不允许,基于我的com我对手头的问题进行了详细的分析,但观察到了完美的结果。我认为另一个答案是正确的,因为它提供了javascript代码来执行我的要求,但我非常欣赏你回答中的观点。我现在正在辩论是否我想把这两个答案都显示为我喜欢的较小的点击量。我认为另一个答案是正确的,因为它给出了javascript代码我很乐意按照我的要求去做,但我很欣赏你在回答中的观点。我现在正在讨论我是否想像你所展示的那样展示这两种东西,因为我喜欢较小的点击量