selection.property - フォームの値を確認、変更する

投稿日: / 更新日:

d3.jsのselection.property()は、ラジオボックスやチェックボックスのチェック状態、テキストエリアの内容など、主にフォーム系要素のプロパティの値を確認したり、変更したりするためのAPIです。

サンプルコード

<input type="checkbox">チェックボックス
// input要素を取得
var selection = d3.select( "input" ) ;

// チェックの状態を確認
var isChecked = selection.property( "checked" ) ;

// チェックの状態を変更
selection.property( "checked", true ) ;

デモ

構文

value || selection = selection.property( object || name [, value || function ] )
引数
項目説明
name対象となる、プロパティ名を指定する。チェックボックスやラジオボタンの場合はchecked、セレクトフォームの場合はselected、インプットフォームやテキストエリアの場合はvalueとなります。
value省略可。第2引数には、第1引数で指定したプロパティに新しくセットしたい値を指定する。チェックボックスやラジオボタンにおける、チェックの場合はtrueがチェックする、falseがチェックを外す、となる。
function第2引数に指定する値を、関数にすることもできる。ここで指定した関数は、第1引数に要素に関連付けられたデータ、第2引数にインデックス番号をとる。また、thisで要素を参照できる。戻り値が値として設定される。
object複数のプロパティを一括で変更するには、第1引数にオブジェクトリテラルを指定する。例えば、{ "hoge1": true, "hoge2": false }というように指定する。利用するシーンが思い浮かびませんでした。
戻り値
項目説明
value引数を1つだけ指定した場合は、そのプロパティの状態を表す値が戻り値となる。
selection引数を2つ指定してプロパティの状態を変更した場合、d3.selectionオブジェクトが戻り値となる。

ノート

1つなら確認
引数を1つ指定するとプロパティに設定されてる値の確認となる。
2つなら変更
引数を2つ指定するとプロパティの状態を変更する。
一括ならオブジェクト
複数のプロパティの状態を一括で変更するには、オブジェクトリテラルで値を指定する。