我知道之前已经有很多次被问过了,我已经通过了一堆帖子以及谷歌搜索答案,但我无法弄明白......这是我的PHP
$connect = mysql_connect("localhost", $usuario, $password) or die(mysql_error());
$select_db = mysql_select_db($dbname) or die(mysql_error());
//query the database
$query = mysql_query("SELECT css_id, body FROM content");
//loop through and return results
for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
$row = mysql_fetch_assoc($query);
$body[$x] = array("cssID" => $row["css_id"], "inlineContent" => $row["body"]);
}
//echo JSON to page
$response = $_GET["jsoncallback"] . "(" . json_encode($body) . ")";
echo $response;
我的HTML:
<body>
<h2 class="inlineEdit" id="titulo">Editando</h2>
<div id="response"></div>
<ul>
<li class="inlineEdit" id="linea">Lorem Ipsum....</li>
</ul>
</body>
最后我的jQuery:
$(function () {
var domID = [];
$(".inlineEdit").each(function(){
domID.push(this.id);
});
$.getJSON("assets/php/load.php?jsoncallback=?", checkArray);
function checkArray(data){
for (var x = 0; x < data.length; x++){//loop through all items in the JSON array
for(var j = 0; j < domID.length; j++){//loop through the DOM id's array
if(domID[j] === data[x].cssID){
var Element = "$('#" + domID[j] + "')";
Element.text(data[x].inlineContent);
}
}
}
}
});
我用firebug检查了这个,我确定Element等于$('#linea')和data [x] .inlineContent包含正确的数据,但我一直都这样:
Element.text不是函数
...消息
答案 0 :(得分:5)
应该是:
var Element = $("#" + domID[j]);
else Element
是一个字符串。
答案 1 :(得分:0)
var Element = "$('#" + domID[j] + "')";
将字符串分配给没有文本函数的变量Element。还有一个语法错误。谢谢@ o.k.w指出这一点。
var Element = $('#' + domID[j] );
将jQuery对象分配给变量Element