Ajax 返回来自 php 代码的所有预期 html 结果,除了 "script" 标签中的 javacript 和 jQuery
var frm = $('#cell');
frm.submit(function (ev) {
$.ajax({
type: "POST",
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (html) {
//Create jQuery object from the response HTML.
var $return=$(html);
//Query the jQuery object for the values
var oneval = $return.filter('#cellWidthSlider').html();
alert(oneval);
$("#cellWidthDiv").html(oneval);
}
});
ev.preventDefault();
});
我试图附加到 head,但 jQuery 代码只会在元素之前执行。
var $response=$(html);
$("head").append($response);
var oneval = $response.filter('#cellWidthSlider').html();
尽管我一直害怕 JSON,但它实际上比我想象的要简单得多,我真的只花了大约 3 个小时就大致了解了,感觉很好,现在这么多开始在 ajax 和 jQuery 中看起来很熟悉:(
所以我所做的更改...我没有在外部 php 中生成 js,而是创建了带有值的数组,例如:
$result = array(
array(
'prevCellId' => $prevCellId,
'prevCellWidth' => $prevCellWidth,
'thisCellId' => $latestCellId,
'thisWidth'=>$thisWidth,
'thisRowId' => $thisRowId,
'thisRowOrder' => $thisRowOrder,
'maxWidth' => $maxWidth,
'prevCellRowOrder' => $prevCellRowOrder));
echo json_encode($result);
然后,经过长时间的搜索,我设法在我的jQuery函数中实现了json值:
$.getJSON( "cellWidth.php", function( json ) {
$.each(json, function(i, item) {
$('#slider').slider({ max:''+item.maxWidth+'',min: 10,step: 5, value:''+item.thisWidth+'', slide: handleSliderChange, stop: sendNew});
var $slider = $("#slider").slider({ max:''+item.maxWidth+'',min: 10,step: 5, value:''+item.thisWidth+''});
})
})
所以简单地使用关键字">item."+">数组名称"来"回显"/"使用值"在jQuery中 - 在这种情况下,这是一个jQuery滑块:)(