我从mysql数据库中生成了一些元素,这些元素正确显示并且还附加了主要ID。
我希望在onClick中选择其中一个元素时(使用&#39; a&#39;)将jquery发送到数据库以调用有关此选定元素的更多信息并显示在此主页上。< / p>
问题是所选择的主要ID无法进入我的获取页面,其中格式化数据库调用的更多信息并将其返回到显示页面。
我认为错误就在这里:
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function() {
var id = $(this).val('myval');
$.ajax({ //create an ajax request to foliobase.php
type: "GET",
//link to the foliobase.php file "?subj" here is the connector///
url: "foliobase.php?subj="+id,
dataType: "html",
success: function(response){
$("#fillFolio").html(response);
}
});
});
});
</script>
特别是这部分,因为当我把folio_id号直接放在?subj =而不是+ id之后,一切正常:
var id = $(this).val('myval');
这是生成的元素表:
<?php
$query = mysqli_query($connection, "select * from portfolio");
print "<ul>";
while($row = mysqli_fetch_assoc($query)){
print "<li><a href=\"javascript:return(0)\" myval=".$row['folio_id']."> <div class=thumbnails><img src={$row['image']}></a></td></li>";
}
print "</ul>";
?>
这是获取页面,其中包含要返回到显示页面的mysql查询和信息布局:
$folio = mysqli_real_escape_string($connection, $_GET['subj']);
//I'm getting exists here!!!!!!!
if(!empty($_GET)){
echo "exists";
}
else{
echo "do not exist";
}
?>
<?php
$query = mysqli_query($connection, "select * from portfolio WHERE folio_id='$folio'");
我仍然掌握着Javascript,jquery,ajax等,并且在我想到请求stackoverflow寻求帮助之前已经使用了好几天,所以提前感谢。
答案 0 :(得分:1)
而是使用attr()
:
var id = $(this).attr('myval');
或者您可以使用data-*
属性:
print "<li><a href=\"javascript:return(0)\" data-myval=".$row['folio_id']."...</td></li>";
然后你可以使用:
$('a').click(function() {
var id = $(this).data('myval');
});
答案 1 :(得分:1)
myval不是有效的html属性。
你的php应该输出这样的东西:
<?php
$query = mysqli_query($connection, "select * from portfolio");
print "<ul>";
while($row = mysqli_fetch_assoc($query)){
print "<li><a href=\"javascript:return(0)\" data-myval=".$row['folio_id']."> <div class=thumbnails><img src={$row['image']}></a></td></li>";
}
print "</ul>";
?>
你的jQuery代码应该是这样的:
var id = $(this).data('myval');