1

プラグインを作成しましたselectbox。非常にシンプルで、変更しようとしています。

実際に行っているのは、select を非表示にして、ul,liその後に追加することselectです。

これらのオプションが利用可能であると言う

<select id="test">
<option>1</option>
<option>2</option>
</select>

今、私はできる

$("#test").selectBox(); //to make it my selectBox

セッターとゲッターのオプションがあります

$("#test").selectBox("changeValue",["changed option",index]);

私のプラグインでは、メソッドを使用しています..

var methods = {

init :function(options){},

changeValue:function(value){

//some code to change the value ...

}

};

change値を変更できますが、どうすればイベントをキャッチできますか?

changeselect またはul,li

私が本当に必要としているのは

$("#test").selectBox(); //initialise

$("#test").change(function(){ //attach change event

//my codes.....

});

また

$("#test").selectBox({
onChange : function(){

console.log("changed....");

}


});

質問が今明確であることを願っています。ありがとうございました。

編集:ここにフィドルリンクがありますhttp://jsfiddle.net/jitheshkt/rBjqq/3/ 私はこれの専門家ではなく、それを作ろうとしているだけであることに注意してください。

*編集:各関数内にイベントを書いたので、それが問題になると思います。私はそれを変更し、うまく動作しています*

4

3 に答える 3

2

これを試して...

$("#test").on('change',function(){ 
    // Write  your code here.
});

古いバージョンのjQueryの場合はこれを使用してください

$("#test").change(function() {
    console.log('HI');
});

これはそのまま動作するはずです。

于 2012-07-24T08:53:05.027 に答える
2

val()メソッドを使用して値を設定していると思います。jQuery API/JavaScript を使用して値を変更している場合、変更イベントはトリガーされないため、次のように手動でトリガーする必要があります。

$('#test').change()

また

$('#test').trigger('change');

それがうまくいくことを願っています!!

于 2012-07-24T09:34:49.863 に答える
1

カスタマイズした選択ボックスではなく、元の選択ボックスの変更に依存できます。

liアイテムを選択すると、元の選択ボックスの対応する値が更新され、変更が発生します..

于 2012-07-24T08:48:13.113 に答える