2014-12-17 3 views
1

Попытка добавить текст динамически к тому же самому диапазону. Сгенерировали индекс для идентификатора, чтобы на основе индекса было предложено добавить текст.Динамически добавлять текст к тому же идентификатору

Это то, что я пробовал. Ожидаемый результат: мне нужно создать еще один диапазон с одним и тем же идентификатором, но с другим индексом и добавить значения массива в диапазон с индексами.

Ожидаемые результаты Пример:

<span id="test-0">test</span> 
<span id="test-1">Demo</span> 

HTML:

<span id="test-{{$index}}"></span> 

JS:

var arr = [{"Name":"test"},{"Name":"Demo"}]; 
for(var i=0; i<arr.length;i++){ 
    txt = arr[i].Name; 
    $('#test-'+i).text(txt); 
} 

Пытались Демонстрация: Demo Link

+0

Разработайте свою проблему, пожалуйста. Каков ваш ожидаемый результат? –

+0

http://jsfiddle.net/wtokg4sv/ см. Это. – amesh

ответ

2

Попробуйте это:

$('#test-'+i).text(txt); 
+0

Рабочий пример: http: // jsfiddle.net/Le22fja4/ –

0

Попробуйте это: Вы можете иметь div добавить span, который будет иметь динамический идентификатор и текст из массива.

HTML-

<div id="test"></div> 

JavaScript: -

var arr = [{"Name":"test"},{"Name":"Demo"}]; 
var $text = $('#test'); 
for(var i=0; i<arr.length;i++){ 
    $text.append('<span id="test-'+i+'">'+arr[i].Name+'</span>'); 
} 

JSFiddle DEMO

+0

http://jsfiddle.net/wngrzmfu/ –

+0

Невозможно добавить данные, а при добавлении его должен быть еще один диапазон с различным значением индекса, а затем добавить другой текст –

+0

, пожалуйста, проверьте обновленный ответ. –

2

Присвоить значение функции text()

$('#test-'+i).text(); 

к

$('#test-'+i).text(txt); 
0

Вы можете использовать строковый построитель, такие как:

var arr = [{ "Name": "test" }, { "Name": "Demo" }]; 
for (var i = 0; i < arr.length; i++) { 
    txt = arr[i].Name; 
    document.write("<span id=test-" + i + ">" + txt + "</span>"); 
} 
0

скрипку вы дали неправильно. который был отредактирован следующим образом.

check fiddle here

var arr = [{"Name":"test"},{"Name":"Demo"}]; 
    for(var i=0; i<arr.length;i++){ 
    //append existing text to new value from array 
    var txt = $('#test'+i).text() + arr[i].Name; 
    $('#test'+i).text(txt); 
    } 
0

Если вы действительно хотите использовать угловой, вы будете обо всех неправильно это. Угловое не очень хорошо работает с элементами html, добавленными в другое место, их нужно скомпилировать сначала, так что угловые могут связываться с ними. В этом случае вы можете использовать ng-repeat привязать список к серии пролетов:

<span ng-repeat="item in [100, 200, 300, 400]" id="test-{{$index}}"> 
    Index is {{$index}}<br/> 
</span> 

Вы также должны включать в себя угловым в вашей скрипке и есть элемент с ng-app тегом (fiddle). С помощью углового вы также должны иметь именованный контроллер и установить свойство в области для вашего массива, но это выходит за рамки, если этот вопрос.

Смежные вопросы