如何从输入中添加单词到另一种输入形式

时间:2018-09-03 05:23:16

标签: javascript php jquery ajax

我正在创建一个ajax实时搜索,我正在使用填充功能。因此,当我单击搜索时弹出的单词时,它将填充到另一个输入表单中。但我想在填满时不要替换旧词。

例如我有input1input2input1用于搜索,input2用于填充我选择的单词。例如,我已经从word1中选择了input1word1将填充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']; ?>,")'>

2 个答案:

答案 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>