我正在使用下面的文本框来添加标签。
当我输入任何标签(在这里说'Java')然后按回车键时,会调用 jquery 的 tagit() 。
$(function () {
var availableTagname = [<?=$testTagname?>];
$('#demo4').tagit({tagSource:availableTagname, sortable:true, tagsChanged:function (a) {
Counttagname(a);
} });
'a' 是文本框的值。a = java 这里。然后调用 Counttagname()。
function Counttagname(value)
{
if(value!="")
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{ document.getElementById("divcounttagname").innerHTML="";
document.getElementById("divcounttagname").innerHTML=xmlhttp.responseText;
}
}
// alert(value);
xmlhttp.open("GET","<?=base_url()?>index.php/admins/joborders/bindcounttagname/"+value,true);
xmlhttp.send();
}
else
{
document.getElementById("divcounttagname").innerHTML='';
document.getElementById("divcounttagname").innerHTML='<div>There are no Candidate</div>';
}
}
该值(即'java')在 "xmlhttp.open("GET","index.php/admins/joborders/bindcounttagname/"+value,true);" 中传递
现在,在controllder 中调用了bindcounttagname()。
function bindcounttagname($value)
{
$this->load->model('mjoborders');
$data['counttagname'] = $counttagname = $this->mjoborders- >Getcounttagname($value);
然后在模型中调用 Getcounttagname()。
function Getcounttagname($value)
{
$data = array();
$Q = $this->db->select('*,count(candidateid) as countcandidate FROM tbl_candidatetag where tagname = "'.$value.'"');
$Q = $this->db->get();
if ($Q->num_rows() > 0)
{
foreach ($Q->result_array() as $row)
{
$data[] = $row;
}
}
$Q->free_result();
return $data;
}
标记在上述查询中作为参数传递。
但是,当我输入第二个标签时,该标签也应该在查询中传递更早的标签,即 IN ('java','css3');
但它不会将多个值作为参数。
我尝试使用数组在如下链接的查询中传递更多标签,但查询不获取任何行.. 1.“使用 WHERE 子句将数组传递给查询”2.也在查询中传递静态两个值,但确实如此不获取任何行。
请告诉我如何在查询中传递多个标签作为参数。