如何在使用jquery检查radiobutton时显示文本框和下拉列表?

时间:2013-01-11 03:06:59

标签: c# jquery asp.net-mvc

大家好我有一些单选按钮和文本框对应每个单选按钮..我想要做的是当选中一个单选按钮时,显示以下格式的相应文本框..

        @foreach(var item in Viewbag.Ids)
        {
         <div class="group">
          <label class="label">
           @Html.RadioButton("Rdbtn",new{value=@item.value})
          </label>
            <div class="control">
                  <input type="text"  />
            <div>
        </div>

在另一个案例中

       <div>
        @Html.RadioButtonFor(m=>m.IsFlat)
        @Html.RadioButtonFor(m=>m.IsFree)
        @Html.RadioButtonFor(m=>m.IsTax)
        @Html.DropDownListFor(m=>m.Products)
       </div>

我在做什么,上面只有一个单选按钮必须检查一个被检查另一个应该是未经检查我正在这样做

   $('input[type=radio]').change( function(){
    if(this.checked)
        {
                  $(this).closest('div').find('input[type=radio]').not(this).attr('checked',false)
        }
     }); 

这工作正常,我想在检查“@ Html.RadioButtonFor(m =&gt; m.IsTax)”时点击dropdwon我怎么能这样做,我必须在编辑模式下检查单选按钮如果它被检查可以任何人帮助我这样做

1 个答案:

答案 0 :(得分:0)

第一个问题

更改剃刀代码以添加类

 @Html.RadioButton("Rdbtn",new{ .value = @item.value , .class = "radio1"})

然后将jquery更改为:

$('.radio1').change( function(){
  if($(this).is(':checked')){
       $(this).closest('input').show();
  }

第二个问题

在每个收音机的

中添加一个班级
  @Html.RadioButton("Rdbtn",new{value=@item.value, new { .class = "radio2"})

然后是jquery

$('.radio2').change(function(e){
  e.preventDefault(); //im not too sure you need this
  $('.radio2').attr('checked', false);
  $(this).attr('checked', true);    
});

就像我在评论中所说,我对第二个问题的答案我高度推荐你不做,甚至不确定它是否真的有效。该脚本将在客户端工作,它将做你想要的,但服务器端它可能会抛出错误试图绑定单选按钮以鼓励的方式。再说一遍,这个答案是因为你提出要求 - 这不是正确的做法。