2017-05-30 41 views
-1

所以我有结构如下图如何在数组中设置拆分字符串?

<input type="text" class="search-hotels" placeholder="" data-other-placeholder="Test 1|Test 2|Test3"/>

,当你看到我有data-other-placeholder属性,我拆我的字符串(|)支架

var placeTarget = $(".search-hotels"), 
 
    getPlaceholder = placeTarget.data("other-placeholder"), 
 
    splitData  = getPlaceholder.split("|");
和我想在数组列表中分配这个字符串,并打印结果我怎么能 去做 ?

+1

conso le.log(splitData)?这似乎是正确的,这有什么问题? – jdmdevdotnet

+2

分割函数默认返回一个数组,还有什么你需要更多? – Dimitri

+0

我想造成这样的'变种placeholderText = [ “你在哪里愿意去吗?”, “阿姆斯特丹?”, “巴黎?”, “柏林?”, “伦敦?”, “新约克?“, ”旧金山?“ ];' –

回答

0

每个使用jQuery,为每个阵列项目运行的功能。 使用.append将HTML输出到目标元素,就像我在这里输入id="output"元素来输出我的结果。

$.each(splitData, function(index, value) { 
    $('#output').append('<div>'+value+'</div>'); 
}); 

var placeTarget = $(".search-hotels"), 
 
    getPlaceholder = placeTarget.data("other-placeholder"), 
 
    splitData = getPlaceholder.split("|"); 
 

 
//$('#output').text('"' + splitData.join('","') + '"'); 
 

 
$('#output').append(document.createTextNode('"' + splitData.join('","') + '"'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="search-hotels" placeholder="" data-other-placeholder="Test 1|Test 2|Test3" /> 
 
<div id="output"> 
 

 
</div>

+0

所以我们可以像这样打印它'''Test1“,”Test 2“' –

+0

@ani_css好的检查更新的那个 –

+0

@canon感谢您的提示,你的意思是我应该创建整个元素块,然后附加在每个循环的末尾?像回调? –

0

使用String.prototype.split()已经返回一个数组 - 迭代它并使用Array.prototype.push()push新值到您的数组。

在你的榜样

所以......

var testString = 'test|test1|test2'; 
 

 
var arrayToPush = ['Where would you like to go?']; 
 

 
var testStringParsed = testString.split('|'); 
 

 
for(var i = 0; i < testStringParsed.length; i++){ 
 
    var string = testStringParsed[i]; 
 
    arrayToPush.push(string + '?'); 
 
} 
 

 
console.log(arrayToPush);

-1

你对你的最后一行这样做 “在数组列表中指定该字符串”:

splitData = getPlaceholder.split("|"); 

“和打印结果”

你可以做到这一点:

console.log(splitData); 

但你也可以interate阵列并打印了一个结果之一,具有简单对于或类似的东西:

splitData.forEach(function(element, index){ 
    console.log(element); 
}); 
+1

不知道为什么这么低估了,我认为你在回答这个问题方面做得很好 – jdmdevdotnet

+0

@jdmdevdotnet也许是因为他改变了评论的主题而没有改变问题...... – Toug