2017-08-15 80 views
1

我有這些數據從API電話獲取: enter image description here如何從對象jQuery中值分配給一個元素

我想告訴這些數據來選擇選項元素,所以我在這行代碼的我AJAX腳本文件:

$.each($(value.routes), function(index, route){ 
    $('.searchable-select').append('\ 
    <option value="'+route+'"> From: '+route+'</option>\ 
    '); 
}); 

如何設置期權價值爲1和2以及字符串(「來源:...」)作爲此對象的文本?

+0

添加樣品陣列 – guradio

+0

樣本陣列是該圖片.. –

+0

這不是一個數組,但與數字鍵的對象,因此回調的第一個參數應該被命名爲「鍵」或「財產」,因爲它不是一個指數。然後,只需使用鍵/屬性而不是'route'作爲值 – Andreas

回答

0

如果我理解你正確,你想要做String splitting

var route = "From: Davao Del Sur (Phillipines) - To: Soccsksargen (Phillipines)"; 
 
var from = route.split("From: ")[1].split(" - ")[0]; 
 

 
console.log(from); 
 

 
// How it works: 
 
// Split String into array by using "From: " as seperator: 
 
var array1 = route.split("From: "); 
 
console.log(array1); 
 
// take second element from array 
 
console.log(array1[1]); 
 
// split the element into another array using " - " as seperator: 
 
var array2 = array1[1].split(" - "); 
 
console.log(array2); 
 
// take first element from array 
 
console.log(array2[0]); 
 

 
// done

+0

對不起,但我不想分割字符串。字符串值「From:Davao Del Sur(Phillipines) - To:Soccsksargen(Phillipines)」'必須作爲文本放在'option'元素中,數字1和2作爲它的值。 –

1

如果你想迭代路由對象,你可以使用jQuery的。每$。

代碼是這樣的。

var routes = { 
 
\t 1: "From Davao Del Sur (Phillipines) ...", 
 
\t 2: "From Soccsksargen (Phillipines)" 
 
} 
 

 
var select = '<select>'; 
 
$.each(routes, function(index, route) { 
 
\t select += '<option value="'+ index +'">'+ route +'</option>'; 
 
}) 
 
select += '</select>'; 
 

 
$('#demo').html(select);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="demo"></div>

相關問題