我正在构建某种与mySQL连接的添加/删除标记列表。我已经设法从数据库中获取标签以显示ajax调用,但我无法对它们进行任何操作。甚至没有共同的风格。当我用Firebug检查时,所有的html似乎都已到位,所以我无法弄清楚出了什么问题。这是我的代码:
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);
RECEIVED 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
经过很多很多研究,我最终解决了这个问题。代码并没有真正错误,但其中一部分是错误的。 get.JSON是异步的意思,如果你想使用jQuery .css函数进行任何更改,你需要在getJSON的回调中做到这一点。
$.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 :(得分:4)
border
不支持速记属性(例如jQuery.css()
)。
答案 1 :(得分:1)
如果你想使用border的所有三个属性,尝试独立定义它们,它可能会解决你的问题。
答案 2 :(得分:0)
我不确定这会解决您的问题,但我会先尝试清理您建立链接的方式。您可能错过了一两个引号。而不是逃避或无法逃避双引号的混淆,只需用单引号括起你的字符串:
var merkTag = '<a class="deletemerk" href="http://localhost/website/remove_merk.php?id='
+ this.pkFavorietemerken
+ '">'
+ this.merken
+ '</a>';
这使您可以在构建HTML字符串时自由使用双引号。为了清楚起见,我在这里使用了多行。清晰而简洁。