我正在尝试获取页面中的所有textarea,并在按钮单击时用选定的textarea文本替换其文本。
$('.copyMsg').on('click', 'div',function(){
var j=0;
var setText= $(this).parent().find('textarea').val();
$('.Cards textarea').each(function(i){
$(this).text(setText);
console.log($(this).parent().attr('class'));
j=i;
});
console.log(setText + ": "+j);
});
问题发生的时候,如果我选择了第二个textarea,那么下面的所有textarea都会被取代而不是它上面。
答案 0 :(得分:0)
请尝试使用此代码
$('.copyMsg').on('click',function(){
var setText= $(this).parent().find('textarea').val();
$('textarea').each(function(evt,val){
val.value = setText;
});
});
并找到您的更新小提琴http://jsfiddle.net/4y9wL/2/
答案 1 :(得分:0)
我的小提琴解决了你的问题!
以下是代码:
$('.copyMsg').each(function(){
$(this).bind('click',function(){$('textarea').val($(this).prev().prev().val())});
});
如果发现有帮助,请将其标记为答案!
答案 2 :(得分:0)
我必须使用.val()来设置textarea值而不是.text,
$('div').on('click','.copyMsg',function(){
var j=i=-1;
var setText= $(this).parent().find('textarea').val();
$('textarea').each(function(i){
//$(this).text(setText);
$(this).val(setText);
console.log($(this).prev());
j=i;
});
console.log(j);
});