Ajax填充表单字段的jQuery修改

时间:2016-07-04 10:12:00

标签: php jquery ajax

我有一个表单,当某个选择框发生更改时,它会使用Ajax填充一些复选框。效果很好。

但是,当我检查这些复选框时,我想使用jQuery来修改表单的另一部分 - 这似乎不起作用...... jQuery根本不会触发。

这是否与jQuery加载与ajax请求有关,而这是不可能的?或者我的代码中可能存在错误?

Ajax.php页面(按预期工作)

... some other code ...
    $fields = "";
    $i = 0;
    foreach($cols as $c){
        $fields .= '<tr><td width="50%"><input class="fieldCheckBox" data-num="' . $i . '" type="checkbox" name="data[' . $_GET['t'] . '][fields][' . $i . '][field]" value="' . $c . '"> ' . $c . '</td><td width="50%"><input type="text" name="data[' . $_GET['t'] . '][fields][' . $i . '][fieldAs]" class="form-control" style="width: 150px;"></td></tr>';
        $i++;
    }

    echo $fields;

然后我的jQuery请求(不会被解雇)

... document.ready function...
    $(".fieldCheckBox").change(function(){
        alert("were in!");
    });

1 个答案:

答案 0 :(得分:2)

这是你的问题:

$(".fieldCheckBox").change(function(){

复选框的值实际上并没有改变,因此永远不会执行。

相反,您可以检查click事件,例如:

$(".fieldCheckBox").click(function(){

编辑:如果页面加载时不存在复选框,则执行javascript时,需要事件委派以确保事件已注册。

一个简单的例子:

$('body').on('click', '.fieldCheckBox', function(){