如何根据另一个文本框的值使用jQuery自动完成文本框

时间:2013-08-31 07:08:31

标签: php javascript jquery codeigniter jquery-autocomplete

我正在使用2个文本框,这些文本框将使用自动完成机制完成。这是一个 codeigniter 项目。使用Model从数据库中选择要填充的值。在第一个文本框中,它可以正常使用以下代码。

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

在第二个文本框中,要填充的值取决于textbox1值。那么如何在site_url()函数中使用textbox1值。

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

    });
});

我尝试过上述方法。但是,可变数据没有任何价值。

2 个答案:

答案 0 :(得分: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);
                       }
                   });
               },
               });
           });

答案 1 :(得分:1)

稍微改变控制器功能。而不是将texbox1值作为argument2发送,而是使用AJAX发布它。并使用$_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);
                       }
                   });
               },
               });
           });