【问题标题】:Set checkbox value throw attribute boolean value设置复选框值抛出属性布尔值
【发布时间】:2012-03-12 15:12:36
【问题描述】:

我想用我在 PHP 中设置的一些属性来设置复选框值。

看起来很奇怪,但看起来很简单,这是我的 PHP :

<input type="checkbox" val="'.$key->mes.'" class="mes"/> 

我的想法:val 为 1 时勾选复选框,为 0 时取消勾选

我试着用这样的 Jquery 来解决这个问题:

$('input:checkbox [val=1]').prop('checked', true);

但它不起作用......有什么提示吗?

【问题讨论】:

    标签: php jquery html checkbox


    【解决方案1】:

    既然你已经在 PHP 中工作了,这个怎么样:

    "<input type='checkbox' val='". $key->mes . "'" . $key->mes > 0 ? "checked='checked'" : "" .  "/>"
    

    那你就不需要做客户端的事情了……

    【讨论】:

    • 我测试了你的代码,有一些语法错误吗?我不是很喜欢PHP,你用的是什么函数?
    【解决方案2】:

    你应该使用value而不是val属性

    <input type="checkbox" value="1" />
    

    $('input:checkbox[value="1"]').prop('checked', 'checked');
    

    小提琴:http://jsfiddle.net/kabY3/

    【讨论】:

    • Chris Sobolewski 有正确的答案(如下)。 不起作用。应该是:
    【解决方案3】:

    据我所知,您不应该使用.prop('checked',true);,只调用.prop("checked") 就足够了。来源:jquery.com

    $(elem).prop("checked") true (Boolean) 会随着复选框而改变 状态

    我听说使用 .prop("checked",false) 是不好的,你应该使用 .removeProp()

    查看 .prop 文档:

    但是php应该有办法解决你的问题。

    【讨论】:

      【解决方案4】:

      我认为在 php 中更容易做到这一点:

      <?php
      $ch="";
      if($key->mes==1) $ch=' checked="checked"';
      echo '<input type="checkbox" val="'.$key->mes.'" class="mes"'.$ch.'/> '
      ?>
      

      如果您想在 jquery 中使用它,请尝试 @EvilP 的建议。

      【讨论】:

        【解决方案5】:

        只要您的DOM 元素使用您最喜欢的开发工具正确读取&lt;input type="checkbox" val="1" class="mes"&gt;,我就可以使用$('input[val=1]').prop('checked', true);

        这是一个 jsfiddle:http://jsfiddle.net/remibreton/u96pc/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-04
          • 1970-01-01
          • 2015-09-19
          相关资源
          最近更新 更多