Получить текущий HTML элемент
У меня есть div с идентификатором "stage". В этом разделе есть текстовые входы и все остальное, что может быть там помещено.
Когда пользователь нажимает на кнопку, я хочу получить html на этапе div и сохранить его где-нибудь. Моя проблема, которую я замечаю, состоит в том, что я не получаю текущий HTML после внесения изменений, чтобы сказать TextInput на экране.
Проблема в том, что я никогда не знаю, что будет на этом этапе div. Это может быть любое количество вещей, в большинстве случаев содержащих элементы формы, в которые пользователь может вводить текст.
Например, если этап содержит
<input type='text' value="Test Content">
Когда он был создан, а затем пользователь изменил значение ввода на "Мой тестовый контент", я хочу, чтобы jQuery html() получал
<input type='text' value="My Test Content">
При нажатии на кнопку.
Как это может быть сделано?
Спасибо за помощь!
2 ответа
Используя только .html()
не изменит значение input
, Он продолжит использовать начальное значение: <input type='text' value="Test Content">
, Я рекомендую использовать .each()
а также .val()
,
JAVASCRIPT:
$(document).ready(function(){
$('#b1').click(function(){
$('#stage input').each(function(){
$('#stage input').attr('value', $(this).val());
});
$('#results').html($('#stage').html());
});
});
Если вам известен идентификатор кнопки, вы можете сделать следующее:
var divHtml;
$("#buttonID").click(function() {
divHtml = ("#stage").html();
});
Это назначит весь HTML-код внутри div с идентификатором "stage" переменной divHtml при нажатии на кнопку с идентификатором "buttonID"