, я думаю, самый правильный человек, который предложил нормальный вариант - это GigolNet Gigolashvili, но я хочу предложить еще более красивый вариант. Проверьте это
$(document).on('click', '.fieldWrapper > label', function(event) {
event.preventDefault()
var n = $( event.target ).parent().find('input:checked').length
var m = $( event.target ).parent().find('input').length
x = n==m? false:true
$( event.target ).parent().find('input').each(function (ind, el) {
// $(el).attr('checked', 'checked');
this.checked = x
})
})
Насколько вам известно, если вы «вытащили» содержимое с помощью чего-то вроде .html () , это просто строка. Вы можете проверить это с помощью
<html>
<head>
<title>runthis</title>
<script type="text/javascript" language="javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready( function() {
var x = $("#foo").html();
alert( typeof(x) );
});
</script>
</head>
<body>
<div id="foo"><table><tr><td>x</td></tr></table><span>xyz</span></div>
</body>
</html>
Текст предупреждения - строка . Пока вы не передаете его синтаксическому анализатору, в нем нет никакого волшебства, это строка, как и любая другая строка.
Нет ничего, что мешает вам использовать .post () для отправки этой строки обратно на сервер.
edit : Не передавайте строку в качестве параметра data в .post (), но объект, такой как
var data = {
id: currid,
html: div_html
};
$.post("http://...", data, ...);
jquery, будет обрабатывать кодировку параметров.
Если вы (по какой-либо причине) хотите сохранить свою строку, вам нужно закодировать значения с помощью чего-то вроде escape () .
var data = 'id='+ escape(currid) +'&html='+ escape(div_html);
Если вы хотите отправить произвольный объем данных на свой сервер, POST - единственный надежный способ сделать это. GET также возможен, но клиенты и серверы допускают только ограниченную длину URL-адреса (примерно 2048 символов).
Я не понимаю, почему у вас не должно быть возможности отправлять html-контент через сообщение.
Если у вас возникнут какие-либо проблемы, вы, возможно, можете использовать какое-то кодирование / декодирование - но я не думаю, что вы это сделаете.