【问题标题】:Bootstrap Switch onclick() not working引导开关 onclick() 不起作用
【发布时间】:2016-07-11 08:56:33
【问题描述】:

我一直在尝试提醒Bootstrap Switch Button 的一些onclick。 但每次我这样做时,都没有任何反应。

所以我尝试了 onchange,它提醒了一些东西,但是当我为 onchange 添加了 ajax 函数时。它没有再次起作用。 这是我的代码:

<input type='checkbox'  onclick='switchStatus($id,$status)' data-size='mini' name='my-checkbox' $status>

这是我的函数的代码:

function switchStatus(id,status){
          alert(id);

  /*var theID = id;
  var theStatus = status;
  var dataString = "projectID=" + theID + "&status=" + theStatus,
  $.ajax({
      url:    "ajax/updateProjectStatus.php",
      type:   "POST",
      data:   dataString,
      cache:  false,  
      success: function (data){
        alert(data);
      }   
  });*/
}

下面是剩下的代码:

<?php
      $sql = $db->prepare("SELECT * from tbl_project where col_status <> 2");
      $sql->execute();  
        while($result = $sql->fetch(PDO::FETCH_ASSOC))
        {
          $id           = $result['projectID'];
          $name         = $result['col_projName'];
          $date         = $result['col_createdDate'];
          $status       = ($result['col_status']==1) ? "checked" : "";
          $sd = "asd";
          echo " 
          <tr>
            <td>$id</td>
            <td>$name</td>
            <td>$date</td>
            <td>
            <input type='checkbox'  onchange='switchStatus($id,$status)'  data-toggle='toggle' $status>
            </td>
            <td>
            <div class='btn-group'  role='group'>
              <input type='button'  value='Manage'  onclick='Xmanage($id,\"$name\")'  class='btn btn-info'>
              <input type='button'  value='Remove'  onclick='Xdelete($id)'                class='btn btn-danger'>
            </div>
            </td>
          </tr>
          ";
        }
        ?>   

【问题讨论】:

  • 控制台有错误吗?
  • 控制台没有显示任何错误。
  • 首先,您正在使用 pdo 准备和执行,您也可以只使用 PDO 查询,因为不涉及外部输入。
  • 作为检查,如果您在 while 循环之前添加 echo "something awesome";,它会输出任何内容吗?如果您的查询因 while 循环未运行而失败。

标签: javascript jquery html ajax twitter-bootstrap


【解决方案1】:

在你的 dataString 变量上,你用逗号结束它,这表明下一个属性即将到来,但事实并非如此。 用分号替换它,看看有什么作用..

  var theID = id;
  var theStatus = status;
  var dataString = "projectID=" + theID + "&status=" + theStatus;
  $.ajax({
      url:    "ajax/updateProjectStatus.php",
      type:   "POST",
      data:   dataString,
      cache:  false,  
      success: function (data){
        alert(data);
      }   
  });

【讨论】:

  • @Juju 输入中设置的 $id 在哪里?我看到了状态,但是 $id 在哪里?
猜你喜欢
  • 2013-09-19
  • 2017-11-11
  • 2014-04-23
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多