2011-07-18 8 views
6

同じ名前のラジオボタンが複数ある場合は、一度に1つのみを選択できます。 1つが選択されると、すべての名前が選択を失います。私はなぜこれがjQueryの.change()イベントを構成しないのか興味をそそられています。なぜ、名前の変更を選択した結果、jQuery .change()がラジオボタンで選択を解除しないのですか?

機能をハックするのはかなり激しいですが、これはバグとして報告されていないようです。なぜそうでないのかを知ることに興味があります。

以下のテスト:私は、ラジオが選択されるたびに2つの変更イベントが発生すると予想しますが、そうではありません。ここで

は一例です。http://jsfiddle.net/XzmmW/

答えて

11

を選択されていない知っています選択解除されたラジオボタンの変更イベントを発生させる必要がない理由が明確になります。

select要素で選択したオプションを変更すると、以前に選択したオプションのものと、新しく選択したオプションのものではなく、1つの変更イベントが得られます。

すでに言及したように、1つのラジオボタンが選択されている場合、同じセットの他のラジオボタンは存在しない可能性があります。したがって、2回目の変更イベントを発生させるには冗長です。

また、これはjQueryに固有のものではないことにも注意してください。標準のJavaScript変更イベントはまったく同じように動作します。

2

のみ1変更イベントがあります...あなたは「新しい選択」に「古いセレクション」から変更しました。

複数の「要素」がありますが、すべて同じフォーム要素の一部です(name属性で定義されています)。

1

という名前のグループ内の各ラジオボタンのイベントを発生させる必要はありませんが、いずれかが選択されているとき、あなたは、あなたがselect要素のようなラジオ・ボタンのセットを考える場合には他の人が

関連する問題