2011-08-16 18 views
3

私はasp:radiobuttonlistを使用し、2つのラジオを持っています。はい・いいえ。ラジオボタンリスト?ラジオボタンを選択すると、選択したラジオボタンをもう一度クリックして選択を解除します。

「はい」または「いいえ」をクリックした後に選択を元に戻す機能を、「はい」または「いいえ」をもう一度クリックすることでユーザーに与えることができます。

たとえば、ユーザーは「はい」をクリックしますが、「いいえ、これは後で回答します」と考えます。彼らは選択を取り消すことはできません...彼らはYESまたはNOを選択する必要があります。

ユーザーが「はい」をクリックすると「はい」が選択され、もう一度「はい」をクリックすると選択解除されるようにする方法はありますか?はい、いいえは入力しないでください/選択?

オプションとして3番目のラジオボタンを追加したくありません。選択した項目を再度クリックすると、選択されていないはずです...希望の結果:どちらも選択されていません。

私はjQueryの方向で考える必要がありますか?

+0

それだけではい/いいえ選択ません場合は、代わりに2つのラジオボタンを有するので、それがユーザーエクスペリエンスの面で良いかもしれません1つのチェックボックスを持つことはできますか?しかし、どちらのオプションも許可しないので、問題は解決しません。 – Spycho

答えて

4

これは、ラジオボタンの予想される動作ではありません。再度クリックして無効にしないでください。あなたがしたい場合は、チェックボックス/チェックボックスリストを参照する必要があります。

+0

私はこの振る舞いを望んでいます:彼らが選んだ場合、彼らは1つだけを選ぶことができますが、それを解くことができるはずです。チェックボックスリストで複数の権利を選択できますか? – ethem

+0

はい、そうです。 – Spycho

+0

しかし、私は複数の選択を望んでいません。 – ethem

2

「未定義」のラジオボタンを3つ追加できますか? this fiddleに示すように。

+0

これは私が望ましくないオプションです。私は第3のオプションを望んでいません。 – ethem

+0

十分に公正。ここでは、解決策を一般的な問題の潜在的な解決策として残しておきます。 – Spycho

1

と思っています。 「これを含める」のようなラベルを使用してください。 チェックボックスをオンにして、自分の心にチェックを入れたり、チェックを外したりすることができます。 このようなほとんどのGUIの質問は正しいアプローチです。

+0

それは明らかではありません。あなたは明確にしていただけますか? – ethem

+0

私は@Michaelは[this](http://jsfiddle.net/Spycho/a9GeB/)のようなものだと思います。 – Spycho

0

checkboxgroupを使用し、そのグループの他の選択を解除するには、ハンドラをクリックしてバインドします

$("input[type='checkbox']").bind('click', function() { 
    var name = $(this).attr('name'); 
    $("input[type='checkbox'][name='" + name + "'][id!='" + $(this).attr('id') + "']").map(function() { 
     $(this).prop('checked', false); return this; 
    }).checkboxradio('refresh'); 
}); 
関連する問題