2011-05-11 63 views
1

我有一个div,我需要抢HTML的内容(所以自然我使用HTML())...使用HTML()获取更改内容

但是,它们是文本字段。每当我抓住div(包含文本字段)的内容时,它抓住最初的HTML,而不是由最终用户更改任何数据...

这里是JS bin版本..更改输入字段,运行该功能,你会看到,它只会采取该字段的初始值...

任何方法可以解决这个问题吗?

http://jsbin.com/oleni3/edit

回答

0

http://jsbin.com/oleni3/5/edit

尝试了这一点^

代码:

$(document).ready(function() { 
    $('div#top input').change(function() { 
     $(this).attr('value', $(this).val()); 
    }); 
    $('#click').click(function() { 
    var _curHtml = $("div#top").html(); 
    $("div#bottom").html(_curHtml); 
    }); 
}); 
+0

哈哈山寨.... – 2011-05-11 14:52:17

0

您获取div的HTML。你想获得输入框的值:

$(document).ready(function() { 
    $('#click').click(function() { 
     var _curHtml = $("#data").val(); 
     $("div#bottom").html(_curHtml); 
    }); 
}); 
+0

好点...基本上我的问题是我构建了一个内容切换器,它将HTML拖放到一个容器中进行查看,每个内容窗格都有很多输入字段..所以我必须找出一些完整的东西不同... – stewart715 2011-05-11 15:00:02

0

没办法用html()来完成。您必须使用val()来获取每个输入的值。您可以使用

$("input").each(function() { 
    doSomething($(this).val()); 
} 

如果它使生活更轻松。

0
$(document).ready(function() { 
    $('#data').change(function() { 
    $(this).attr('value', $(this).val()); 
    }) 
    $('#click').click(function() { 
     var _curHtml = $("div#top").html(); 
     $("div#bottom").html(_curHtml); 
    }); 
}); 

这工作..这里的链接http://jsbin.com/oleni3/2/edit

UPDATE:如果你有很多inputs在div里面,你可以使用这个http://jsbin.com/oleni3/6/edit

0
$(document).ready(function() { 
    $('#click').click(function() { 
     var _curHtml = $("#data").val(); 
     $("div#bottom").html(_curHtml); 
    }); 
}); 
0

最简单的黑客会是这样的:

$("div#bottom input").val($("div#top input").val());

获取更新输入的值并将其设置为克隆。

更新的链接:

http://jsbin.com/oleni3/3/edit