2012-11-01 18 views
7

私はチェックボックスとラジオボタングループを持っており、チェックボックスがオンで、選択されているラジオボタンがあるかどうかを知りたいと思います。ダーツでチェックボックスまたはラジオボタンがチェックされているかどうかを確認するにはどうすればよいですか?

ダーツでこれを行うにはどうすればよいですか?

+0

あなたはhtmlコードを追加することができますか? –

答えて

8

のは、我々はこのようなものを使用してHTMLを持っているとしましょう:これらの値は、次のようなものになるだろう得るために

<form > 
     <input type="radio" name="gender" id="gender_male" value="male">Male<br> 
     <input type="radio" name="gender" id="gender_female" value="female">Female 
    </form> 

    <form> 
     <input type="checkbox" id="baconLover">I like bacon<br> 
    </form> 

あなたのダーツコードチェックボックスがクリックされたとき、私も知っているイベントを追加しました。私は、「HTML」によってキャッチイベントラジオボタン、用this solutionを見つけ

import 'dart:html'; 

void main() { 

    // Adds a click event when the checkbox is clicked 
    query("#baconLover").on.click.add((MouseEvent evt) { 
    InputElement baconCheckbox = evt.target; 

    if (baconCheckbox.checked) { 
     print("The user likes bacon"); 
    } else { 
     print("The user does not like bacon"); 
    } 

    }); 

    // Adds a click event for each radio button in the group with name "gender" 
    queryAll('[name="gender"]').forEach((InputElement radioButton) { 
    radioButton.onclick.listen((e) { 
     InputElement clicked = e.target; 
     print("The user is ${clicked.value}"); 
    }); 
    }); 

} 
+0

タブキーを使用してコントロールに移動した後、スペースキーを使用してコントロールを選択すると、これが壊れますか? –

+0

@Günter 'radioButton.on.click'を' radiobutton.onClick'に変更しなければなりませんでしたが、APIにはadd()メソッドがないようです。 'InputElement'を' RadioButtonInputElement'に変更する必要がありますか? –

+1

これは古いAPIです。私はコードを更新しました。 –

1

...私は自分のプロジェクトに、このソリューションを使用しています。

my_example.html

<polymer-element name="my-example"> 
    <template> 
    <div on-change="{{updateRadios}}"> 
     Your favorite color is: 
     <div> 
     <label for="red">Red <input name="color" type="radio" id="red" value="red"></label> 
     </div> 
     <div> 
     <label for="green">Green <input name="color" type="radio" id="green" value="green"></label> 
     </div> 
     <div> 
     <label for="blue">Blue <input name="color" type="radio" id="blue" value="blue"></label> 
     </div> 
    </div> 
    <div> 
     You selected {{favoriteColor}} 
    </div> 
    </template> 
    <script type="application/dart" src="my_example.dart"></script> 
</polymer-element> 

my_example.dart

import 'package:polymer/polymer.dart'; 
import 'dart:html'; 

@CustomTag('my-example') 
class MyExample extends PolymerElement { 
    @observable String favoriteColor = ''; 

    MyExample.created() : super.created(); 

    void updateRadios(Event e, var detail, Node target) { 
    favoriteColor = (e.target as InputElement).value; 
    } 

} 
関連する問題