Замена элементов и их содержимого в jQuery. Копирование и перенос значений
Замена значения по умолчанию для поля формы
В одну форму требовалось передать название товара, плюс пояснение (для отправки заявки)
<script> jQuery(document).ready(function(){ $('#pole').val($.trim($('h1.title').text())+(" (пояснение)")); }); </script>
#pole - id поля (input) где уже установлено значение по умолчанию (value)
h1.title - заголовок материала с классом
Пояснение - произвольный текст
Так же должны сработать следующие примеры, но я их не пробовал:
<script> jQuery('#pole').val(jQuery('h1.title').html()); </script> jQuery(function($){ $('#pole').val(document.title); });
Замена содержимого одного элемента содержимым другого
$('.element1').text($('element2').text());
$('.element1').text($.trim($('element2').text())); // без пробелов в начале и конце
Замена одного элемента другим
Даже если их теги разные
$('.element1').replaceWith($('.element2'));
Замена тега
$('div.inner').replaceWith(function(){
return $("<span />", {html: $(this).html()});
});
// или
$('div.inner').replaceWith(function(){
return $("<span />").append($(this).contents());
});
Замена тега и его атрибутов
$("input#user_field_3")
.each(function(){
var el = $(this),
html = el.html(),
attrs = {
"name": el.attr("name"),
"id": el.attr("id"),
"classes": el.attr("class"),
"value": el.attr("value")
};
console.log("Replacing " + el.prop("tagName") + ", classes: " + attrs.classes);
el.replaceWith($("<textarea></textarea>").html(html).attr(attrs));
});
Скопировать выбор select в соседний input
jQuery("select").change(function(){
//if(jQuery(this).val() == 0) return false; //если ничего не выбрано, ничего не делать
//alert(jQuery(this).val());
jQuery(this).next('input').val(jQuery(this).val());
});
Ссылки и благодарности
Замена текста по умолчанию (value) формы - форум jbzoo.ru
Замена элементов и их содержимого: ruseller.com
Замена тега: ru.stackoverflow.com
Замена тега с атрибутами: qaru.site