0

助けが必要です。このページのようなラジオボックスへのユーザー入力に基づいてテーブル値を変更するプログラムがあります。

クリック感

しかし、問題は、ユーザーがラジオ入力を1回だけ選択できるようにすることです。彼らが別のラジオを選択すると、テーブルの値が台無しになります。だから私が知りたいのは、ユーザーがラジオ入力を2回選択したときにアラートボックスを作成するにはどうすればよいですか?

このウェブサイトと同様に、クリックしてラジオボタンを2回クリックし、popsupに警告してみてください

誰か助けてもらえますか?

4

2 に答える 2

1

外部の図書館からの助けを借りずにラジオボタン入力ノードでのイベントを防ぐことは困難です。簡単な解決策は、各入力ノードに接続されたonclick関数内からボタンを無効にすることです。そのように:http://jsfiddle.net/c73Mh/。それでも何らかの理由でラジオボタンを選択できるようにする必要がある場合は、同じ機能内から最初に選択されたボタンを選択することで、選択をキャンセルできます。お役に立てれば!

于 2011-05-05T00:09:40.913 に答える
0

私の例では簡単にするために、各ラジオボタンのIDはname属性とvalue属性の組み合わせであると想定しています。selectedValues = {};以下に示したものに加えて、すべてのラジオボタンを設定および選択解除するある種のreset()関数を追加する必要があります。

<input type="radio" name="group1" value="A" id="group1A" onclick="radioClicked(this);" />First option
<input type="radio" name="group1" value="B" id="group1B" onclick="radioClicked(this);" />Second option

<input type="radio" name="group2" value="A" id="group2A" onclick="radioClicked(this);" />First option
<input type="radio" name="group2" value="B" id="group2B" onclick="radioClicked(this);" />Second option

var selectedValues = {};

function radioClicked(rb) {
  if (selectedValues[rb.name] === undefined) {
    selectedValues[rb.name] = rb.value;
    doTableProcessing();
  }
  else {
    alert("You can't change the selected values");
    document.getElementById(rb.name + selectedValues[rb.name]).checked = true;
  }
}
于 2011-05-05T01:01:30.833 に答える