如何在单选按钮被选中时显示文本框和下拉框

本文关键字:文本 显示 单选按钮 | 更新日期: 2023-09-27 17:51:22

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

        @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)
        }
     }); 

这工作得很好,我想显示dropdwon时,一个"@Html.RadioButtonFor(m=>m. istax)"被选中,我怎么能做到这一点,我必须得到单选按钮检查在编辑模式,如果它被选中,谁能帮助我这样做

如何在单选按钮被选中时显示文本框和下拉框

对于你的第一个问题

更改razor代码以添加一个类

 @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);    
});

就像我在评论中说的,我强烈建议你不要回答第二个问题,我甚至不确定它是否真的有效。该脚本将在客户端工作,它将做你想做的事情,但在服务器端,它可能会抛出错误,试图将单选按钮绑定到bool。再说一遍,这个答案是你要求的——这不是正确的方法。