1

ブラウザでのように「today_div」のhtmlを取得しようとしています。

問題は、ユーザーがチェックボックスをクリックしても、以下のように取得するときにチェックボックス html で div の html が「チェック済み」と表示されないことです。

変更を加えた html を取得するにはどうすればよいですか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
</head>
<body>

<div id="today_div">
<input type="checkbox" name="as" class="achk">
</div>

<script language="JavaScript" type="text/javascript" defer=true>

$(document.body).on( "change",'.achk', function() {
    var s = $('#today_div').html();
    alert(s);
});

</script>

</body>
</html>

更新: 上記が機能しない理由を知っている人はいますか? ユーザーが十分ではないチェックボックスをチェックした場合? また、javascript で設定する必要があります。非常に奇妙な。

4

2 に答える 2

2

好き:

$(document.body).on( "change",'.achk', function() {
    var $this = $(this),
        is_checked = $(this).attr("checked") ? "checked" : "";
    $this[0].setAttribute("checked", is_checked);
    alert($('#today_div').html());
});

デモ :: jsFiddle

于 2013-10-09T10:48:29.497 に答える
1
$(document).on( "change",'.achk', function() {
    if($(this).is(":checked")){
       $(this).attr("checked","checked");
    }else{
       $(this).removeAttr("checked");
    }
    var s = $('#today_div').html();

    alert(s);
});

デモを見る

参照属性

于 2013-10-09T10:50:56.873 に答える