2017-06-06 68 views
0

我有這個輸入標籤id =「clientAdd」當用戶在其上寫入並單擊輸入寫入時可以添加div作爲標籤,所有標籤都保存爲字符串數組我想這個數組傳遞給隱藏的輸入標籤ID =「clientAddCode」將字符串數組傳遞給value屬性的輸入jquery

<input type="text" id="clientAdd" value="" class="form-control required"> 
<input type="hidden" id="clientAddCode" name="address"> 

我嘗試字符串作爲它的數組傳遞給隱藏的輸入標籤ID值的值=」 clientAddCode「,但它總是給我空值。

var stringList = []; 
$("#clientAdd").keypress(function (e) { 
if (e.which === 13) { 
    $(".target").append("<a href='#' class='tag'>" +"<span class='removeAddress'>"+'+'+"</span>"+ this.value + "</a>"); 
     stringList.push(this.value); 
     this.value = ""; 
     $(document).on("click", ".removeAddress", function() { 
      var removeItem = $(this).parent().clone().children().remove().end().text(); 
      stringList = $('.removeAddress').map(function(){ 
       return $(this).parent().clone().children().remove().end().text() 
      }).get() 
      $(this).parent().remove(); 
      $("#clientAddCode").val(stringList); 
      console.log(stringList); 
     }); 
    } 
}); 
+1

請分享您的所有相關JS代碼,以便我們可以看到問題所在。 –

+0

如果你想傳遞一個字符串數組作爲輸入,把它作爲JSON字符串傳遞(在輸入值中使用'JSON.stringify(your_array)')。當你獲取它時,使用'JSON.parse(your_json_string)' – Sayed

+0

@ Mihai T對其進行反向分析,然後檢查plz –

回答

0

你應該數組轉換成一個字符串,你可以這樣做使用join功能:

join()方法方法加入數組的元素轉換爲字符串,並返回字符串。

array.join(隔膜)

隔板可選。要使用的分隔符。如果省略,元素之間用逗號

分離見下面請:

var arr = ["test1", "test2", "test3"]; 
 
var stringList = arr.join(", "); 
 
console.log(stringList); 
 
//Write in a div 
 
$("#clientAddCode").html(stringList); 
 
//Write in a text 
 
$("#myList").val(stringList);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="clientAddCode"></div> 
 
<input id="myList" type="text" />

在上面的例子中,我串連所有用逗號分隔的項目。 我希望它能幫助你,再見。

+0

謝謝你,但我的主要問題是發送這些值test1,test2,test3到輸入標籤的屬性值它總是爲空值 –

+0

我不確定你在問什麼,無論如何看到我的更新示例請。要設置'value'屬性,你應該使用'.val()'方法。 – Alessandro