2017-02-03 21 views
0

私はw2uiドロップリストを含むw2uiフォームを持っています。選択肢は、ユーザーがフォームを表示するために選択した内容によって異なります。私の質問は:ドロップリストの内容がレンダリングされた後に変更できるかどうかです。標準のHTMLコントロールでリスト内の選択肢は、レンダリングされた後に変更できますか?

、私はこのようなものだろう:

$("#mySelect option[value='xyz']").remove(); 

または

$("#mySelect").append('<option value="abc">abc</option>'); 

を操作これらの種類は、w2uiドロップリストで行うことができますか?コード例?

答えて

1

w2ui 1.5では、$jQueryElement.w2field()を使用してw2fildオブジェクトにアクセスし、それを操作することができます。

例:

var field = $("#my_input").w2field(); 
field.options.items = ["my", "new", "items"]; 
// optionally: pre-select first item 
field.setIndex(0); 
// if you do NOT use "setIndex" you need to call "refresh" yourself! 
// field.refresh(); 

注:setIndex()は内部refresh()を呼び出す - 上記のように、あなたがそのような場合には、自分自身をリフレッシュ呼び出す必要はありません。

完全にフィールドをクリア/空白にしたい場合は、field.reset()と呼ぶことができます。


編集:そこmpf82

// Note: ``this`` refers to the w2form 
// ``field[8]`` refers to a field of type "select" 
    this.fields[8].options.items = ["my", "new", "items"]; 
    this.record = { 
    field_select: 'new' 
    }; 
    this.refresh(); 
+0

こんにちは:それはフォームフィールドのことだという明確化した後。まず、提案に感謝します。遅れて返答して申し訳ありませんが、私は見逃しましたが、今私はw2uiを含む仕事に戻ります。私はこれを試しましたが、フィールドの値は常にnullとして戻ってきます。それはおそらく単純なものです...ここに問題を示すjsfiddleがあります:[リンク](http://jsfiddle.net/sman/1kaodbbx/24/)http://jsfiddle.net/sman/1kaodbbx/24/リストの変更]ボタンをクリックします。 JSコード - 77〜83行目を見てください。 – sman

+0

こんにちは、私はあなたが独立したフィールドについて話していると思った。 http://jsfiddle.net/1kaodbbx/28/ - あなたの例では、w2uiの '' 1.4''ソース、 '' $()、w2field() ''をリンクしていましたが、とにかく働いていないだろう。 –

+0

ちょっとmpf82 - 私はその1.4の問題をキャッチし、1.5に更新しましたが、保存するのを忘れたようです。それについて申し訳ありません!とにかく、作業コードを提供してくれてありがとう、それは今明らかです。 – sman

関連する問題