3

オートコンプリート メカニズムを使用して入力する 2 つのテキスト ボックスを使用しています。コードイグナイタープロジェクトです。入力する値は、Model を使用してデータベースから取得されます。最初のテキスト ボックスでは、次のコードで正しく動作しています。

$(function() {
    $("#textbox1").autocomplete({
    source:'<?php echo site_url('controller_name/function_name/arg1/arg2'); ?>'
    });
});

2 番目のテキスト ボックスに入力する値は、textbox1 の値によって異なります。したがって、site_url() 関数内で textbox1 値を使用する方法。

$(function() {
    var data=$("#textbox1").val();
    $("#textbox2").autocomplete({
        source:"<?php echo site_url('controller_name/function_name/arg1/"+data+"');  ?>"

    });
});

上記の方法を試しました。しかし、変数データは値を取得していません。

4

2 に答える 2

2

コントローラーの機能を少し変更します。texbox1値を arg2 として送信する代わりに、 AJAX を使用して投稿します。を使用して関数内で受け取ります$_POST['data']。arg1 をそのまま送信し、arg2 の値を投稿します。

$(function() {
               $( "#textbox2" ).autocomplete({
                   source: function(request, response) {
                       $.ajax({ url:"<?php echo site_url('controller_name/function_name/arg1');?>",
                       data:{'request':$("#textbox1").val()},
                       dataType: "json",
                       type: "POST",
               success: function(data){
                           response(data);
                       }
                   });
               },
               });
           });
于 2013-08-31T09:14:09.083 に答える
1

コントローラーの機能を少し変更します。値を引数 2 として送信する代わりに、texbox1AJAX を使用して投稿します。を使用して関数内で受け取ります$_POST['data']

$(function() {
               $( "#textbox2" ).autocomplete({
                   source: function(request, response) {
                       $.ajax({ url:"<?php echo site_url('controller_name/function_name/arg1');?>",
                       data:{'request':$("#textbox1").val()},
                       dataType: "json",
                       type: "POST",
               success: function(data){
                           response(data);
                       }
                   });
               },
               });
           });
于 2013-08-31T09:19:49.527 に答える