Javascript jQuery php变量问题
我试图在这个jQuery函数中捕获正确的变量,但是无论我单击什么按钮,警报都会显示我拥有的第一个标签的名称。有什么想法吗?多谢各位Javascript jQuery php变量问题,javascript,php,jquery,Javascript,Php,Jquery,我试图在这个jQuery函数中捕获正确的变量,但是无论我单击什么按钮,警报都会显示我拥有的第一个标签的名称。有什么想法吗?多谢各位 <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> <script type="text/javascript"&g
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
$(".submit").click(function() {
var name = $("#name").val();
alert(name);
});
});
</script>
</head>
<body>
<?php
include("connection.php");
$link=connect();
$result=mysql_query("select * from names",$link);
if (mysql_fetch_array($result) == 0)
{
echo "No names registered. Add one";
}
else
{
while($row=mysql_fetch_array($result))
{
echo "<html>
<label>".$row["name"]."</label>
<input type='button' class='submit' value='Delete'>
<input type='hidden' id='name' value=".$row["name"].">
<br>
</html>";
}
mysql_free_result($result);
mysql_close($link);
}
?>
</body>
</html>
$(文档).ready(函数(){
$(“.submit”)。单击(函数(){
var name=$(“#name”).val();
警报(名称);
});
});
使用DOM导航从相邻输入获取值:
$( document ).ready(function() {
$(".submit").click(function() {
var name = $(this).next().val();
alert(name);
});
});
此外,页面中应该只有一个
块。不要把它放在循环中。首先,html ID应该是唯一的
尝试使用html5数据属性并删除隐藏的表单元素:
while($row=mysql_fetch_array($result))
{
echo "<input type='button' class='submit' value='Delete' data-value=".$row["name"].">";
}
while($row=mysql\u fetch\u array($result))
{
回声“;
}
和JS部分:
<script type="text/javascript">
$( document ).ready(function() {
$(".submit").click(function() {
alert($(this).data('value'));
});
});
$(文档).ready(函数(){
$(“.submit”)。单击(函数(){
警报($(this.data('value'));
});
});
您多次使用同一id-名称
:
while($row=mysql_fetch_array($result))
{
echo "<html>
<label>".$row["name"]."</label>
<input type='button' class='submit' value='Delete'>
<input type='hidden' id='name' value=".$row["name"].">
<br>
</html>";
}
这将使您的表单在没有javascript的情况下也可以工作
然后,在javascript中,您可以执行以下操作:
$(".submit").click(function(e) {
e.preventDefault();
var name = $(this).closest('form').find('input[name="name"]').val();
...
或者如果以后需要使用ajax发布:
var data = $(this).closest('form').serialize();
(或者您捕获表单的submit
事件)除了一些其他答案之外,您实际上不需要隐藏的输入。只需将按钮输入更改为:
<input type='button' class='submit' name='".$row["name"]."' value='Delete'>
身份证必须是unique@cmorrisey是的,我想用AJAX删除项目,但目前我只需要在每种情况下捕获正确的变量。
<input type='button' class='submit' name='".$row["name"]."' value='Delete'>
var name = $(this).attr('name');