0

ユーザーに 2 つのオプションの選択肢を提示する必要があります。

ラベルが通常クリック可能な要素ではなく、クリックするための従来の小さな円であるRadioButtonとは対照的に、これらはクリックするのに適した大きなボタンにしたいと考えています。

例えば

ここに画像の説明を入力

ユーザーがそれぞれをクリックすると、別の変数で関数が呼び出されるため、アプリケーションの他の場所で他の魔法が発生する可能性があります。

jQuery でこれを行う方法を見たので、それが私のバックアップ計画になります。

私は Dojo を学ぼうとしており、現在アプリの 90% が Dojo (1.7) で構築されているのを見て、Dojo 内にこれと同様のコンポーネントがあることを期待していました。

2 つの個別のDojo ボタンを並べて配置し、現在最後にクリックされたものをグローバル変数でキャッチし、クリックされたときにもう一方のボタンが無効になるようにすることができると思いますが、これはそれほどエレガントに聞こえません。

2 つのボタンの選択を実現する最良の方法は何ですか?1 つがクリックされると、もう 1 つのボタンが無効になり、関数が特定の値で起動されますか?

4

1 に答える 1

1

あなたはこのようなものを使うことができます(私はコードを実行していないことに注意してください)

<button data-dojo-type="dijit/form/ToggleButton" id='toggle1' data-dojo-props="iconClass:'dijitCheckBoxIcon', checked: true">
<button data-dojo-type="dijit/form/ToggleButton" id='toggle2' data-dojo-props="iconClass:'dijitCheckBoxIcon', checked: false">​

そしてこのjavascript:

​dojo.require('dojo.parser');
dojo.require('dojo.form.ToggleButton');

dojo.ready(function(){
    dojo.parser.parse();
    dojo.connect(dijit.byId('toggle1'),'onChange',function(){
        dijit.byId('toggle2').set('checked',false);
        //what you want to do
    });
    dojo.connect(dijit.byId('toggle1'),'onChange',function(){
        dijit.byId('toggle2').set('checked',false);
        //what you want to do
    });

}); </ p>

コードをチェックしていないので、いくつかの変更が必要になる可能性があることに注意してください

于 2012-12-29T21:27:26.110 に答える