如何使用jquery

时间:2016-11-12 19:29:09

标签: php jquery checkbox selection

我正在尝试找到检查更改事件复选框的最简单方法。

我使用php脚本创建了复选框

PHP:

<div class="form-group">
    <div class="col-md-12 servicesCheck" style="margin-top:-10px">
        <?php
        foreach ($data["languageSchool"]["services"] as $service) {
            $required = "";
            $checked = "";
            if ($service["is_required"] == "1") {
                $required = "disabled";
                $checked = "checked";
            }
            echo "<div class='checkbox " . $required . "'>";
            echo "  <label><input id='services' type='checkbox' " . $checked . " " . $required . " value='" . $service["price"] . "'>" . $service["name"] . "</label>";
            echo "</div>";
        }
        ?> 
    </div> 
</div>

JQUERY:

$('#servicesCheck :checkbox').change(function () {
    // DO SOMETHING
});

我的代码中出错了什么。

3 个答案:

答案 0 :(得分:1)

我认为jQuery选择器是错误的。 &#39; servicesCheck&#39;在HTML中是一个类而不是Id,

$('.servicesCheck input:checkbox').change(function () {
// DO SOMETHING
});

应该有用。

虽然:复选框有效jQuery documentation说:&#34;建议在它前面添加标签名称或其他选择器&#34;

答案 1 :(得分:0)

您的PHP代码将生成具有相同ID的多个复选框。通过添加自动增量后缀来更改它...并且您在jQuery代码中使用了#servicesCheck,这在此代码中不可用

答案 2 :(得分:0)

就个人而言,我发现通过name属性更容易专门定位,因为它必须存在于源代码中,因为多个复选框可能需要不同的处理而不是相同的处理。

如果您只有1,Alvaro's答案就足够了。

$('#myloginform input[name=mycheckboxname]:checked').change(function(){
  console.log($(this).attr('name'));
});