私は 3 つのチェックボックスを持っており、ユーザーが一度に 1 つずつ選択する必要があるため、ユーザーがチェックボックスの 1 つを選択するたびにコードを作成します。他のすべての選択を解除し、次を使用して選択したものを確認します。
$('input.myclass').click(function () {
$('input.myclass:checked').not(this).removeAttr('checked');
});
このコードのすぐ下で、チェックされたチェックボックスの値も取得し、ページのどこかに表示します (簡単にするために、アラートにします)。そのために私は使用しています:
var sFilter = "";
$('input.myclass[type=checkbox]').each(function () {
sFilter = sFilter + (this.checked ? $(this).val() : "");
});
現在、何が起こっているかはsFilter
常に最近選択されたチェックボックスと最後に選択されたチェックボックスです。のように: チェックボックス 1,2,3 がある場合。最初にチェックボックス 2 を選択するとアラートに 2 が表示されますが、 3 を選択すると 2,3 が表示されます。ここで起こっていることは、コードが特定のクラスのすべてのチェックボックスを通過する時点であると推測します.関数checked
を使用してクリア/チェックを外したことを考えると、チェックボックス2があると考えられclick
ます.
この問題を回避する方法について誰か提案がありますか?
ありがとう
注意: UI が原因で、ラジオボタンを使用できません。