0

jquery ui オートコンプリートを使用して、db からの提案を表示しています。入力テキストとドロップダウンの選択した値をコントローラー関数に渡しています。ここにjsfiddleがあります(機能しません) 。

問題: 列の値source: url+"?search_column="+columnは常にユーザー名です。ドロップダウンの動的な値をオートコンプリート メソッドに渡すにはどうすればよいですか。

見る

<?php echo form_open('admin/index','class="form-inline"');  ?>
  <input id='admin_auto_search' type="text" class="span3" placeholder="Search..">
  <select class="span2"  name="search_column" id="search_column">
    <option value="username">Username</option>
    <option value="created_on">Created On</option>
    <option value="first_name">First Name</option>
    <option value="last_name">Last Name</option>
    <option value="company">Company</option>
    <option value="timezone">Time Zone</option>
    <option value="plan">Plan</option>
  </select>
  <input type="submit" class="btn  btn-primary" value="Search" />
<?php echo form_close();?>

脚本

$(function(){
    var url='<?php echo base_url('index.php/admin/home/auto_complete');?>'; 
    var column=$('#search_column').val();

    $('#search_column').change(function(){
        column= $(this).val();
    });

    $("#admin_auto_search").autocomplete({
        source: url+"?search_column="+column
    });
});

どんな助けでも大歓迎です。

編集

私の問題はjqueryに関連しています。ドロップダウンボックスの値をオートコンプリートメソッドに渡しています。

var column=$('#search_column').val();

source: url+"?search_column="+column

私の関数パスは正しく、機能しています。しかし、ドロップダウンで選択した値はどれでも、コントローラーで search_column の値を「ユーザー名」のみとして取得します。

4

2 に答える 2

1

column関数で値を割り当てたのは間違っているreadyため、最初のオプションが常に選択されているため、最初の値があります。これを試してください

autocomplete関数を の中に入れて、onchange常に新しい値を持つようにしました

$(function(){
    var url="<?php echo base_url('index.php/admin/home/auto_complete');?>"; 


    $('#search_column').change(function(){

     alert($('#search_column').val()) // just for check that it is called or not 
        var column=$('#search_column').val();

     $("#admin_auto_search").autocomplete({
        source: url+"?search_column="+column
    });
    });


});
于 2013-07-10T17:22:57.497 に答える
0

ラインを交換する

var url='<?php echo base_url('index.php/admin/home/auto_complete');?>'; 

var url='<?php echo base_url();?>index.php/admin/home/auto_complete'; 

更新しました

changeユーザーが変更するvalueたびに必要な場合は、プラグインもdrop down value必要です。initialize

$('#search_column').change(function(){
    column= $(this).val();
    // reinitialze autocomplete to get the changed value
    $("#admin_auto_search").autocomplete({
        source: url+"?search_column="+column
    });
});
于 2013-07-10T15:47:17.473 に答える