单击bootstrap选项卡时运行jquery函数

时间:2014-03-21 18:51:21

标签: javascript php jquery ajax pdo

当我点击bootstrap标签时,我想运行一个ajax函数。

我有html:

  <li><a href="#upotrebljeni" data-toggle="tab">Upotrebljeni resursi</a></li>

jquery ajax功能:

$('a #upotrebljeni').click(function (e) {
var ajdi = '22';
var radnici = 'radnici';
var prvi = '1'; 
    $.ajax({
            url: 'getRMZ.php', // make this url point to the data file
            dataType: 'json',
            data:{id_akt:ajdi, tabela:radnici, prvi:prvi},
            async: false,
        type: 'POST',
            success:function(data){
            console.log(data);
            },
        error:function(data) {
        console.log(data);
        }

        });

});

和getRMZ.php pdo文件:

try {
      /* Establish the database connection */
      $conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

     $result = $conn->query("SELECT id_tabele,naziv FROM track_aktivnosti WHERE prvi = :prvi AND id_akt = :id_akt AND tabela = :tabela");
     $result->execute(array(':prvi' => $_POST['prvi'], ':id_akt' => $_POST['id_akt'], ':tabela' => $_POST['tabela']));

    $jsonTable = json_encode($result);
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }
    echo $jsonTable;

现在,当我点击标签#upotrebljeni时,我没有得到任何动作,任何错误,没有......这里有什么问题?

更新:我通过ajax收到错误:“错误:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法出错;请查看与您对应的手册MySQL服务器版本的正确语法在':prvi AND id_akt =:id_akt AND tabela =:tabela'在第1行附近使用

2 个答案:

答案 0 :(得分:2)

<a id="upotrebljeni" href="#upotrebljeni" data-toggle="tab">Upotrebljeni resursi</a>

删除空格。

使用

$('a#upotrebljeni').click(function (e) {

而不是

$('a #upotrebljeni').click(function (e) {
    ^

a #upotrebljeni选择器会在<{1}}标记内找到ID为的元素,而<a>选择器会查找a#upotrebljeni选择器具有ID的元素。

答案 1 :(得分:0)

您需要将id="upotrebljeni"添加到您的锚点:

<li><a id="upotrebljeni" href="#upotrebljeni" data-toggle="tab">Upotrebljeni resursi</a></li>

因为您正在使用#所以它会id而不是href定位元素。

另外,因为id是唯一的,所以您只需要使用:

$('#upotrebljeni').click(function (e) {

而不是:

$('a#upotrebljeni').click(function (e) {