错误选中复选框Angularjs

时间:2017-09-28 08:28:37

标签: php angularjs checkbox

我对使用AngularJS的模板有疑问。 该页面显示带有复选框的书籍列表。这用于批量操作,例如删除书籍。如果列表太长,则书籍将显示在分页列表中

问题是,如果我检查其中一些并更改页码,则会在相同位置检查复选框。 使用此屏幕截图更容易理解

不同的页面和结果,同样选中复选框

得到这个结果我在action.class.php中使用了一个查询并像这样发送json:

$ejemplares = array();
foreach($data as $ejemplar_bd)
{
    $id_documento = $ejemplar_bd['id_registro'];

    $ejemplar = array();
    $ejemplar['id'] = $ejemplar_bd['id'];
    $ejemplar['idDoc'] = (int)$ejemplar_bd['id_registro'];
    $ejemplar['numregistro'] = (int)$ejemplar_bd['numregistro'];
    $ejemplar['codigo'] = $ejemplar_bd['codigoejemplar'];
    $ejemplar['estado'] = $ejemplar_bd['estado'];
    $ejemplar['signatura'] = $ejemplar_bd['signatura1']."-".$ejemplar_bd['signatura2']."-".$ejemplar_bd['signatura3'];
    $ejemplar['tipo'] =$ejemplar_bd['tipoejemplar'];
    $ejemplar['reservas']=$ejemplar_bd['reservas'];
    $ejemplar['Ubicacion']=$ubicaciones[$ejemplar_bd['id']];
    $ejemplar['Motivo']=$ejemplar_bd['motivo_expurgado'];
    $ejemplar['Editorial']=$data_editorial['valor'];
    $ejemplar['Imprimido']= $ejemplar_bd['imprimido'];
    $ejemplar = array_merge($ejemplar,$fondos[$id_documento][$ejemplar['id']]);

    $ejemplares[] = $ejemplar;

}

$this->json_data = json_encode($ejemplares);

之后,模板中的代码为:

<tr ng-repeat="item in data| filter:Buscar | filtroNumregistro:numregistro | filtroCodEjemplar:codEjemplar | filtroNombreNormalizado:nombreFiltro  | orderBy:sort:reverse | limitTo: (currentPage - 1) * pageSize - filtrados.length | limitTo: pageSize track by $index">
        <td class="sf_admin_text sf_admin_list_td_nombre">
          <input type="checkbox" name="ids[]" value="{{ item.id }}" class="sf_admin_batch_checkbox">
        </td>
        <td class="sf_admin_text">
          {{ item.codigo }}
        </td>
        <td class="sf_admin_text">
          {{ item.numregistro }}
        </td>
        <td class="sf_admin_text sf_admin_list_td_titulo">
            <span><a ng-href="{{cambiarUrlTitulo(item.id)}}">{{ item.Titulo }}</a></span><br/>
            <span class="autorListEjemplar" ng-repeat="autor in item.Autor">{{autor}}{{$last ? '' : ' - '}}</span>
        </td>
        <td class="sf_admin_text" style="width:10%;">
          {{ item.ISBN }}
        </td>
        <td class="sf_admin_text" style="width:10%;">
          {{ item.Editorial }}
        </td>
        <td class="sf_admin_text" style="width:10%;">
          {{ item.Ubicacion }}
        </td>
        <td class="sf_admin_text" style="width:10%;">
          {{ item.signatura }}
        </td>
        <td class="sf_admin_text">
          {{ item.tipo }}
        </td>
      </tr> etc...

发生了什么事? 可能是什么问题?

提前致谢

1 个答案:

答案 0 :(得分:0)

我必须替换:

<input type="checkbox" name="ids[]" value="{{ item.id }}" class="sf_admin_batch_checkbox">

<input type="checkbox" ng-model="item.checked" class="sf_admin_batch_checkbox">