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>";  

在上面的代码中,我想调用 AddItemRow(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

您不能onClick使用 PHP 调用事件。您需要使用 JS 来执行此操作,您需要检查复选框是否checked打开document ready

这是一个例子:

JS 小提琴演示

于 2012-12-17T04:56:09.190 回答
0

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

JS

var myvar=15;

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

HTML

<input id="input_id" type="checkbox"  />
  • 你错过了checkbox输入中的引号,就像你可以传递你的变量一样myvar
于 2012-12-16T16:34:36.867 回答
0

你可以这样做:

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

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

于 2012-12-16T16:15:38.860 回答