2

私はこの奇妙な問題を抱えています。何かを見落としているのかもしれませんが、これは私を夢中にさせています。私のアプリケーションでは、ユーザーに 30 個を超えるアイテムを選択させたくないので、30 個を超えると、ユーザーがさらにラジオ ボタンをクリックすると、選択したくありません。

問題は、jquery でラジオ ボタンの名前を取得し、そのラジオ ボタンの値を設定すると機能しませんが、同じ名前をハードコーディングすると機能します

Jsfiddle の例を次に示します。 http://jsfiddle.net/s7GeZ/2/

HTML:

<span class="radiobut4" >
  Ignore <input type="radio" value="ignore" name="art_52643" id="52643" >
  Visible <input type="radio" value="visible" name="art_52643" id="52643" >
  Invisible <input type="radio" value="invisible" name="art_52643" id="52643">
</span>

Java スクリプト:

$('input:radio').live("change",function (event){
var radioName = $(this).attr("name");
    alert(radioName);
    $("input:radio[name='+radioName+'][value ='ignore']").prop('checked', true);
   // $("input:radio[name='art_52643'][value ='ignore']").prop('checked', true);

});

問題を確認するには、最後の 2 行をコメントまたはコメント解除するだけです。

どんな種類の助けもいただければ幸いです。

4

2 に答える 2

1

ラジオの名前を指定する必要があります。希望するものではない「+radioName+」という名前のラジオを選択しています。これを試して:

$("input:radio[name='"+radioName+"'][value ='ignore']").prop('checked', true);
于 2013-09-06T15:43:48.343 に答える