我的目标是有几个按钮,当您将它们悬停在一个按钮上时,div会显示用户正在悬停在该按钮上的信息。
每个按钮都是从我的数据库创建的,每个按钮都有其自己的值。
按钮的值与其在SQL查询中用来显示属于按钮的正确数据的值。
我的问题是,当用户将鼠标悬停在按钮上时,我正在使用javascript和AJAX来获取按钮上的按钮值,这意味着当信息div弹出时,我使用AJAX捕获的值不会更新,直到页面被刷新。
我还远不是专家,而且我确信我已经使它变得比所需的更加复杂:
1)我从数据库中打印出按钮:
while($row = mysqli_fetch_array($result)) {
echo ' <input type="text" id="submitfakta" name="submitted-btn" value="'.$row['Name'].'">
2)然后,我使用Javascript和AJAX来获取悬停时的按钮值:
<script>
$('#submitfakta').live('mouseover mouseout', function(e) {
if (e.type == 'mouseover') {
var idAttr = $(this).attr('value');
//alert($(this).attr('id'));
$.ajax({
type: "POST",
url: 'abu.php',
data: {idAttr : idAttr },
success: function(data)
{
return data;
}
});
}
});
</script>
3)通过设置display:none,仅使用css即可弹出信息div,当我将鼠标悬停在按钮上时,div设置为display:block
4)在abu.php中,我尝试使用SESSION将按钮的值返回到我的页面并用于查询:
$_SESSION["abu"] = $_POST["idAttr"];
但这是一个糟糕的解决方案,因为会话不会在您悬停时立即更新,而是在刷新页面后首先更新。
答案 0 :(得分:0)
首次使用类
while($row = mysqli_fetch_array($result)) {
echo ' <input type="text" class="submitfakta" name="submitted-btn" value="'.$row['Name'].'">
然后
$('.submitfakta').on('mouseover', function() {
var idAttr = $(this).attr('value');
//alert($(this).attr('id'));
$.ajax({
type: "POST",
url: 'abu.php',
data: {idAttr : idAttr },
success: function(data)
{
return data;
}
});
});
希望这行得通