2016-02-05 2 views
2

У меня есть 3 элементов HTMLПолучить текстовое значение, используя имя attirbute один на один

<h3 contenteditable class="education" name="education[index][University]>1</h3> 
<span contenteditable class="education" name="education[index][time]>2</span> 
<p contenteditable class="education" name="education[index][description]>3</p> 

Так я хочу, чтобы получить текстовое значение в порядке h3-поверочного р один за другим, используя их имя атрибута с помощью JavaScript. после каждого значения я получаю, как я могу иметь новую линию следовать, как после этого

1 
2 
3 

Благодаря передовой

+2

Оберните элементы в контейнере итерация над детьми этих элементов. В противном случае вам придется написать 3 уродливых (в данном случае с учетом требуемого количества символов) и хрупких селекторов. Вы даже можете использовать 'map()', если хотите. Результатом будет только случай генерации требуемого HTML. –

+0

@RoryMcCrossan, если я использую это var education = $ (". Education"). Text(); я получу все текстовое значение.Ok.But мне нужно иметь новую строку после каждого текстового значения, которое я получаю, как я могу это добиться. Потому что я хочу сохранить в db с json-типом –

+0

Является элементом '.education', который содержит эти? Как вы теперь выводите значение? –

ответ

2

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

$(function() { 
 
    var output = $('[name^="education[index]"]').map(function() { 
 
    return $(this).html(); 
 
    }).get().join('\n'); 
 
    alert(output); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h3 contenteditable name="education[index][University]">1</h3> 
 
<span contenteditable name="education[index][time]">2</span> 
 
<p contenteditable name="education[index][description]">3</p>

UPDATE:

, если у вас есть класс образования, то вы можете просто позвонить $('.education').map...

+0

Спасибо за работу отлично –

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