1

特定の条件に基づいてチェックボックスを「チェック済み」として表示しているため、チェックボックスのonClickメソッドを手動で呼び出したい。

以下は私のコードです

if(in_array($rs['item_number'],$it_arr))
    echo "<td><span class='data'>-</span><input type=checkbox onclick=\"AddItemRow(this)\" checked/></td>";
else
    echo "<td><span class='data'>-</span><input type=checkbox onclick=\"AddItemRow(this)\" /></td>";  

上記のコードでは、PASSWORDRow(this)メソッドを呼び出し、そのメソッドで受け入れられる変数thisを渡したいと思います。これを行うにはどうすればよいですか?

4

5 に答える 5

1
Here we can use jquery which ill check for checked case and will trigger a click function
 <script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">


$(function(){

    if($('input[type=checkbox]:checked').val()){

        var obj = $('input[type=checkbox]');
        AddItemRow(obj);            
    }

});

function AddItemRow(obj){
    console.log(obj);
    obj.attr('checked', true);
}
</script>

if(in_array($rs['item_number'],$it_arr))
    echo "<td><span class='data'>-</span><input type=checkbox onclick=\"AddItemRow(this)\" checked/></td>";
else
    echo "<td><span class='data'>-</span><input type=checkbox onclick=\"AddItemRow(this)\" /></td>"; 
于 2012-12-17T06:51:51.167 に答える
1

onClickPHPを使用してイベントを呼び出すことはできません。JSを使用してこれを行う必要があります。チェックボックスがcheckedオンになっているかどうかを確認する必要がありますdocument ready

次に例を示します。

JS FIDDLE DEMO

于 2012-12-17T04:56:09.190 に答える
0

あなたはこのようにそれを行うことができます:

echo "<script type='text/javascript'>AddItemRow('".$var."')</script>";
于 2012-12-16T16:12:53.870 に答える
0

この質問を100%理解できるかどうかはわかりませんが、クライアントサーバーシステムの性質について根本的な混乱があると思います。PHPスクリプトはサーバー上で実行され、クライアントマシンに送信されるHTML、CSS、およびJavaScriptを作成します。JavaScriptはクライアントマシンで実行されますが、サーバー上のPHPがタスクを完了して切断されるまで、JavaScriptは実行されません。つまり、JavaScriptのonClick()関数はPHPによってトリガーできず、クライアント(人間)またはクライアントの何らかのアクション(JavaScript)によってのみトリガーできます。

于 2012-12-16T16:15:38.860 に答える
0

インライン関数/スタイルを持つことは悪い考えであると言う全体的な慣習があります。検討

JS

var myvar=15;

    document.getElementById('input_id').onclick=function(){AddItemRow(myvar);};

HTML

<input id="input_id" type="checkbox"  />
  • checkboxthatuが変数を渡すことができるように、入力の間に引用符を見逃しましmyvarた。
于 2012-12-16T16:34:36.867 に答える