2012-03-23 90 views
3

我正在构建某种与mySQL连接的添加/删除标签列表。我已经设法从数据库中获取标签以显示ajax调用,但我无法对它们进行任何操作。甚至没有一个共同的风格。当我用Firebug检查所有的html似乎已到位,所以我无法弄清楚什么是错的。这里是我的代码:为什么我的jQuery .css函数不工作?

的jQuery:

$(document).ready(function() { 

    $("#ontvangenjson").css("border","3px solid red"); 


    $.getJSON("jason2.php", function(data) { 

     $.each(data, function(){ 

     var merkTag = " <a class=\"deletemerk\" href="+"http://localhost/website/remove_merk.php?id="+this.pkFavorietemerken+">" + this.merken + "</a>"; 

     $("#ontvangenjson").append(merkTag); 

       }); 

      }); 

     }); 

PHP: jason2.php

$merken_lijst = "SELECT favorietemerken.pkFavorietemerken, favorietemerken.merken FROM favorietemerken JOIN bedrijven ON bedrijven.pkBedrijvenID=favorietemerken.fkBedrijvenID WHERE favorietemerken.fkBedrijvenID=$neem_id"; 


$rows = array(); 
$sth = mysql_query($merken_lijst); 
while($r = mysql_fetch_assoc($sth)) { 
$rows[] = $r; 
} 
print json_encode($rows); 

收到JSON:

[{"pkFavorietemerken":"71","merken":"Nike"},{"pkFavorietemerken":"70","merken":"Le Coq Sportif"},{"pkFavorietemerken":"69","merken":"Converse"},{"pkFavorietemerken":"68","merken":"Champion"},{"pkFavorietemerken":"67","merken":"Adidas"}] 

HTML:

<body> 


    <h1><label for="brands-form-brand">Get JSON data</label> <input type="button" id="knop" value="get JSON" /></h1> 

    <hr /> 

    <p class="section-title"><strong>JSON Data received</strong></p> 


    <div id="ontvangenjson"> </div> 

</body> 

ANSWER

很多之后,很多的研究很多,我finaly解决了这个问题。这段代码并不是真的错,但是它的一部分是错误的。如果您想使用jQuery .css函数进行任何更改,则需要在getJSON的回调中执行此操作,get.JSON是异步的。

$.getJSON("jason2.php", function(data) { 
    var merkTag = ""; 
    $.each(data, function(){ 
    merkTag += " <a class=\"deletemerk\" href="+"http://localhost/website/remove_merk.php?id="+this.pkFavorietemerken+">" + this.merken + "</a>"; 
    }); 

    $("#ontvangenjson").append(merkTag); 

    // NEW CODE 
    $(".deletemerk").css("border","3px solid red"); 
    }); 

回答

0

我不知道这将解决你的问题,但我会试图清理你正在做的是链接的方式启动。您可能错过了一两个引号。相反逃逸或未能逃脱双引号的困惑,只是围绕单引号的字符串:

var merkTag = '<a class="deletemerk" href="http://localhost/website/remove_merk.php?id=' 
       + this.pkFavorietemerken 
       + '">' 
       + this.merken 
       + '</a>'; 

这让你免费当你建立一个HTML字符串使用双引号。为了清楚起见,我在这里使用了多行代码。清晰简洁。

+0

是的我承认我的链接不是以一种干净的方式创建的,但不幸的是这不是问题。我已经用你的链接测试过了。 – 2012-03-23 14:27:11

4

jQuery.css()不支持简写属性(例如border)。

http://api.jquery.com/css/

+0

好吧,这很奇怪,这对我的网页上的其他元素有效。但我会记住这一点。 – 2012-03-23 05:12:25

1

如果你想使用所有边境的三个属性,尝试独立定义它们,它可能会解决你的问题。

+0

@Patrik Bhatt,真正的问题似乎是我无法对$(“#ontvangenjson”)进行任何操作,甚至没有提醒 – 2012-03-23 14:29:37