我有一个多个产品元素,从PHP获取它们的类和ID:
$product1["codename"] = "product-1";
$product1["short"] = "Great Product 1";
$product2["codename"] = "product-2";
$product2["short"] = "Great Product 2";
<div class="leftMenuProductButton" id="'. $product1["codename"].'" >'. $product1["short"].'</div>
<div class="leftMenuProductButton" id="'. $product2["codename"].'" >'. $product2["short"].'</div>这些展品如下:
<div class="leftMenuProductButton" id="product-1" > Great Product 1</div>
<div class="leftMenuProductButton" id="product-2" > Great Product 2</div>在页面中,我有一个要替换HTML的元素:
<div id="productPopupTop">
//Replace this content
</div>使用jquery,我尝试了以下方法:
$( '.leftMenuProductButton' ).hover (
function () {
var swapNAME = $(this).attr("id"); //gets the ID, #product-1, #product-2 etc. This works.
$("#productPopupTop").html(' <? echo $' + swapNAME + '["short"] ?>'); //This is supposed to get something like <? echo $product-1["short"] ?> This doesn't appear to work.
},
function () {
//this is just here for later
});如果我尝试做一个alert('<? echo $' + swapNAME + '["short"] ?>');,它将显示类似于<? echo $product-1["short"] ?>的东西。
请注意,Javascript和PHP都在PHP文件中对外链接(index.php <<< (js.js,products.php) )。
问题:如何将#productPopupTop的HTML()替换为产品的["short"]?如果我应该使用Ajax,我将如何编写这个代码?
发布于 2010-03-18 15:57:13
试试这个:
$( '.leftMenuProductButton' ).hover (
function () {
$("#productPopupTop").html($(this).html());
},
function () {
//this is just here for later
});发布于 2010-03-18 15:58:29
正如knittl所提到的,php是服务器上的预处理器,一旦页面被发送到客户端,就不能做任何事情。
我能想到的选择是
server.com/getshort.php?codename=product-2,它将使用Great Product 2响应)。如果标签中的文本总是相同的,@Kasia的答案就会起作用,而且会更简单。
https://stackoverflow.com/questions/2471219
复制相似问题