selectタグの属性についての発見
またJavascriptネタなんだけど、ゴメンナサイ。仕事柄使うもので
・・・でも全然使いこなしてないことが判明しました
selectのonchangeイベントで捕らえられるselectの値は
先日のダイアリーで、checkboxから発生するイベントで捕らえられるcheckboxの値といことで、常識的な挙動をしてましたけど。・・・また間抜けなんですけどテストしたところ。
また常識的なことでした
選んだoptionが反映されてます
実は知らなかった・・・よくわからん属性value
恥ずかしながら、実はこのselectのvalue属性を知らなかったです。挙動から言うと、これはvalue属性ではなくて、プロパティなのかね
alert($("selecthoge").options[$("selecthoge").selectedIndex].value);
なんて頓珍漢なコード書いてましたよ。
こんなことしなくても
alert($("selecthoge").value);
これで取れてしまうんですね。
こいつが面白いなと思ったところは、逆もできること
<select id="selectHoge"> <option value="hoge1" >ほげ1</option> <option value="hoge2" >ほげ2</option> <option value="hoge3" >ほげ3</option> </select>
こうなら
$("selecthoge").value = "hoge2"
で2番目の選択肢を選択状態にできる。valueが被ってた場合は上にあるほうが選択されるみたいです。
どこが「よくわからん」なの?ということなんですけど
<select id="selectHoge" value="hoge2"> <option value="hoge1" >ほげ1</option> <option value="hoge2" >ほげ2</option> <option value="hoge3" >ほげ3</option> </select>
と属性に直接書いても、2番目が選択状態にならないということ。なんでなんでしょうかね
以上コネタでした。