2011-11-26 9 views
2

3つのレベルの選択肢が必要です。選択された2番目のオプションが最初に選択されたオプションの値で変更されるため、jqueryプラグインを使用して「select box manipulation」を実行します。 codeigniterを使うので、ライブラリを使ってそれを統合したいのですが、どうすればいいのですか?codeigniter integration jquery選択ボックスの操作

jquery select box manipulation incodeigniterをどのように統合できますか? ライブラリを使用する必要がありますか、それとも他の方法がありますか?

私はいくつかの点を教えていただけますか? http://www.texotela.co.uk/code/jquery/select/

+0

なぜそれのための(サーバー側)ライブラリが必要ですか?リンクを見てみると、Ajaxリクエストを処理するための通常のコントローラーが必要です。 –

+0

私の選択した3つのレベルのオプションデータはmysqlからのものです。デフォルト値があれば値を表示したいが、オプション値も選択してください。 – lighter

+0

だから何ですか?あなたのコントローラーはオプションでページを管理し、jQueryは別のコントローラー(または同じものの別のメソッド)にAjaxリクエストを送ります。コントローラはこれを使ってモデルを照会し、新しいオプションを返します。ここではライブラリの使用は表示されません。あなたがクリアであれば、この「3つのレベルで選択されたオプション」がどのように構築されているのか、あなたがそれを変更するために何をしたいのか、私はあなたにいくつかのコードを示すことができます –

答えて

1

いいえ、ライブラリは必要ありません。コントローラのメソッドを作成してフォームのデータを取得するだけです。

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/

+0

thx、私はそれをすることを知っている! – lighter

関連する問題