私のプロジェクトでは、$('#cenDiv').html(data)
はajax
で正常に動作します。次に、selAllAttId
というチェックボックスをクリックして何かをしたいと思います。 チェックボックスをチェックする方法
私はonclick="selAllAtt()"
を使用する場合は
selAllAtt()
メソッドが正常に呼び出されますが、
$(this).attr("checked")
は
selAllAtt()
方法を終えた後、常に真であるとなったことができますので、
$(this).attr("checked")
は常に偽であると
alert("checked")
は常に動作することはできません。
だから別の方法で変更したい$('#selAllAttId').on("change",function(){})
しかし、不運なことに、alert("test)
は動作しません。誰が私を助けられるか?ここで
はjsのコードです:
<script>
$(document).ready(function()
{
$('#selAllAttId').on("change",function(){
alert("test");//can not work
});
});
function corpAnn()
{
$.ajax({
dataType:'html',
type:"POST",
url:"oat.php",
data: {oaAnn:oaAnn},
success:function(data)
{
$('#cenDiv').html(data);
}
});
}
function selAllAtt(){
alert("checkbox");
var xzyId=document.getElementById('xzyId');//fetch other table id
var checked=xzyId.getElementsByTagName('input');//fetch all table checkbox successfully
if($(this).attr("checked"))//always false.
{
alert("checked");
for(i=0;i<checked.length;i++)
{
checked[i].checked=true;
}
}
else
{
alert("delete");
for(i=0;i<checked.length;i++)
{
checked[i].checked=false;
}
}
});
</script>
<div id="cenDiv"></div>
oat.phpのコードです:
echo '<td style="color:Maroon" bgcolor="#888888">
<input type="checkbox" id="selAllAttId" onclick="selAllAtt()">
<b>Num</b>
</td>';
'this'をあなたが思うものではありません。 'onclick'によって呼び出される関数は、その要素に関連する特別な' this'コンテキストを持ちません。 'onclick'の使用を中止し、現代的で邪魔にならないイベントリスナーを使用してください。 – charlietfl
@charlietfl、$(これ)をテストしましたが、もう一度失敗します。 – stack
' this'はonclickが発生する要素とは関係ありません。あなたはjavascriptのユーザイベントについていくつかのチュートリアルを勉強することを提案します – charlietfl