いいえ、ライブラリは必要ありません。コントローラのメソッドを作成してフォームのデータを取得するだけです。
1つのアイデアは、それぞれのフォームフィールドをdivなどのデータに埋め込む要求に戻すことです。
ビュー:
<select name="shirts" onchange="getField(this.value)">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>
<div id="field2"></div>
Javascriptを:
function getField(val){
$.ajax({
type:"get",
url: "/controller/getField/"+val,
success: function(data){
$('#field2').html(data);
}
});
}
コントローラー:
...
public function getField($val=''){
switch($val){
case 'small':
//$options = get data and do stuff;
echo form_dropdown('shirts', $options, 'large');
break;
}
}
http://codeigniter.com/user_guide/helpers/form_helper.html
http://api.jquery.com/jQuery.ajax/
なぜそれのための(サーバー側)ライブラリが必要ですか?リンクを見てみると、Ajaxリクエストを処理するための通常のコントローラーが必要です。 –
私の選択した3つのレベルのオプションデータはmysqlからのものです。デフォルト値があれば値を表示したいが、オプション値も選択してください。 – lighter
だから何ですか?あなたのコントローラーはオプションでページを管理し、jQueryは別のコントローラー(または同じものの別のメソッド)にAjaxリクエストを送ります。コントローラはこれを使ってモデルを照会し、新しいオプションを返します。ここではライブラリの使用は表示されません。あなたがクリアであれば、この「3つのレベルで選択されたオプション」がどのように構築されているのか、あなたがそれを変更するために何をしたいのか、私はあなたにいくつかのコードを示すことができます –