在PHP中手动调用onClick of checkbox

时间:2012-12-16 16:09:12

标签: php checkbox onclick

我想手动调用复选框的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>";  

在上面的代码中,我想调用AddItemRow(this)方法,并且还希望传递该方法接受的变量。 我怎么能这样做?

5 个答案:

答案 0 :(得分:1)

您无法使用PHP调用onClick事件。您需要使用JS来执行此操作,您需要检查checked上的复选框是document ready

以下是一个例子:

JS FIDDLE DEMO

答案 1 :(得分: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>"; 

答案 2 :(得分:0)

你可以这样做:

echo "<script type='text/javascript'>AddItemRow('".$var."')</script>";

答案 3 :(得分:0)

我不是百分百肯定我理解这个问题,但我认为它对客户端 - 服务器系统的性质存在一些潜在的混淆。您的PHP脚本在服务器上运行,它会创建发送到客户端计算机的HTML,CSS和JavaScript。 JavaScript在客户端计算机上运行,​​但直到服务器上的PHP完成其任务并断开连接后才能运行。换句话说,PHP中的onClick()函数不能由PHP触发,它只能由客户端(人)或客户端中的某些操作(JavaScript)触发。

答案 4 :(得分:0)

有一个完整的实践表明,拥有内联函数/样式是一个坏主意。  考虑

<强> JS

var myvar=15;

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

<强> HTML

<input id="input_id" type="checkbox"  />
  • 您在输入中错过checkbox之间的引号 像thatu可以传递你的变量myvar