我正在创建一个ajax实时搜索,我正在使用填充功能。因此,当我单击搜索时弹出的单词时,它将填充到另一个输入表单中。但我想在填满时不要替换旧词。
例如我有input1
和input2
。 input1
用于搜索,input2
用于填充我选择的单词。例如,我已经从word1
中选择了input1
。 word1
将填充input2
。
像input2 = word1
但是当我在input1
中搜索另一个单词时,我希望我选择不替换input2
而是添加它。例如,我选择word2
,因此在input2
中将是
像此输入2 = word1, word2
这是我的实时搜索脚本
function fill(Value) {
$('#tag_list').val(Value);
$('#display').hide();
}
$(document).ready(function() {
$("#tag").keyup(function() {
$('#display').show();
var name = $('#tag').val();
if (name == "") {
$("#display").html("");
$("#display").hide();
}
else {
$.ajax({
type: "POST",
url: "../cari/tag.php",
data: {
search: name
},
success: function(html) {
$("#display").html(html).show();
}
});
}
});
});
我的tag.php代码
<div class="result" onclick='fill("<?php echo $caris['id_t']; ?>,")'>
答案 0 :(得分:1)
您可以添加如下所示的值
function fill(Value) {
var $tagList = $('#tag_list');
var previousVal = $tagList.val();
if(previousVal) {
previousVal += ", ";
}
$tagList.val(previousVal + Value);
$('#display').hide();
}
答案 1 :(得分:1)
您可以使用 Addition assignment :
加法赋值运算符将右操作数的值相加 分配给变量,并将结果分配给该变量。的类型 两个操作数确定加法赋值的行为 操作员。加法或串联是可能的。见补充 运算符以获取更多详细信息。
语法
Operator: x += y
Meaning: x = x + y
针对您的情况:
var query = '';
$('#search').on('click',function(){
fill();
});
function fill() {
query += $('#input1').val() + ',';
$('#input2').val(query.slice(0,-1));
/* The slice function will remove the last caractere from string ',' */
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="input1" id="input1">
<input type="text" name="input2" id="input2">
<button id="search">search</button>