【发布时间】:2016-07-08 08:29:18
【问题描述】:
我的控制器中有一个将用户数据传递给视图的方法:
$user['where'] = array('user.id_company' => $company_id);
$data['users'] = $this->user_model->getListDetailled_sending($user);
有了这个,我会像这样显示数据:
<div class="col-md-4">
<div class="portlet light">
<div class="portlet-title">
<div class="caption font-blue-sunglo"> <i class="fa fa-user-secret font-blue-sunglo"></i> <span class="caption-subject bold uppercase"> Utilisateurs</span> </div>
<input id="searchUser" type="text" placeholder="Chercher un utilisateur" class="form-control" onchange="searchUser(this)">
</div>
<div class="md-checkbox-list">
foreach ($users as $value){
echo "<div class=\"md-checkbox\">";
echo "<input id=\"usersbox[".$value->id_user."]\" name=\"usersbox[".$value->id_user."]\" groups=\"".$value->groups."\" class=\"md-check users\" type=\"checkbox\">";
echo "<label for=\"usersbox[".$value->id_user."]\">";
echo "<span class=\"inc\"></span>";
echo "<span class=\"check\"></span>";
echo "<span class=\"box\"></span>";
$label = ($this->session->userdata['logged_in']['acl_id'] == 10) ? $value->name. " ".$value->firstname : $value->name. " ".$value->firstname;
echo $label;
echo "</label>";
echo "</div>";
}
?>
</div>
</div>
</div>
我想做的是创建一个对这些数据进行排序的搜索字段。目前看起来是这样的。我希望能够在文本框中写一些东西,并且只显示包含文本框中当前值的当前复选框的数据。
我考虑过使用 Javascript,并使用参数调用 Controller 方法,然后刷新页面(包含名称和名字的 sql 查询),但我不想调用整个数据库,因为它需要对显示的数据进行排序。 我不知道最好的方法是什么。
编辑:我目前效果不佳的解决方案:
function myFunction(obj) {
div = document.getElementById("userDiv");
div.innerHTML = '';
var ajax_url = "<?php echo site_url('sending/form/searchUser/');?>";
var search = obj.value;
$.ajax({
type: "POST",
url: ajax_url,
data: { 'search': search },
success: function(data){
// Parse the returned json data
var opts = $.parseJSON(data);
//console.log(opts);
// Use jQuery's each to iterate over the opts value
$.each(opts, function(i, d) {
// You will need to alter the below to get the right values from your json object.
console.log(i);
console.log(d.id_user);
div.innerHTML += '<div class=\"md-checkbox\"><input id=\"usersbox[' + d.id_user + ']\" name=\"usersbox[' + d.id_user + ']\" class=\"md-check users\" type=\"checkbox\"><label for=\"usersbox[' + d.id_user + ']\"><span class=\"inc\"></span><span class=\"check\"></span><span class=\"box\"></span>' + d.name + ' ' + d.firstname + '</label></div>';
});
}
});
}
【问题讨论】:
标签: javascript php sql codeigniter