0

こんにちは、私はいくつかのラジオ ボタンと各ラジオ ボタンに対応するテキスト ボックスを持っています..私がやりたいことは、ラジオ ボタンがチェックされているときに、次の形式から対応するテキスト ボックスを表示することです..

        @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>

私は上記のために何をしていますかラジオボタンの1つだけをチェックする必要があります。

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

これは正常に動作しており、「@Html.RadioButtonFor(m=>m.IsTax)」がチェックされているときにドロップダウンを表示したいのですが、これを行うにはどうすればよいですか?チェックされている場合は、編集モードでラジオボタンをチェックする必要があります誰でもこれを行うのを手伝ってもらえますか

4

1 に答える 1

0

あなたの最初の質問のために

クラスを追加するためにかみそりのコードを変更する

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

次に、jqueryを次のように変更します。

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

2番目の質問

これらの各ラジオにクラスを追加します

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

私のコメントで言ったように、2番目の質問に対するこの回答はあなたがしないことを強くお勧めします、そしてそれが実際に機能するかどうかさえわかりません。スクリプトはクライアント側で機能し、必要な処理を実行しますが、サーバー側では、ラジオボタンをバインドしようとするとエラーが発生する可能性があります。繰り返しますが、この答えはあなたがそれを求めたからです-それはそれを行う正しい方法ではありません。

于 2013-01-11T03:48:25.657 に答える