我使用了两个文本框,这两个框将使用自动完成机制完成。这是一个代码点火器项目。要填充的值是使用Model从数据库中拾取的。在第一个文本框中,它使用以下代码正常工作。
$(function() {
$("#textbox1").autocomplete({
source:'<?php echo site_url('controller_name/function_name/arg1/arg2'); ?>'
});
});
在第二个文本框中,要填充的值取决于文本框1的值。那么如何在site_url()函数中使用textbox1值。
$(function() {
var data=$("#textbox1").val();
$("#textbox2").autocomplete({
source:"<?php echo site_url('controller_name/function_name/arg1/"+data+"'); ?>"
});
});
我试过上面的方法。但是,变量数据没有得到任何值。
稍微更改控制器功能。使用AJAX发布texbox1
值,而不是将其作为arg2发送。并使用$_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);
}
});
},
});
});
稍微更改控制器功能。使用AJAX发布texbox1
值,而不是将其作为argument2发送。并使用$_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);
}
});
},
});
});