我是jquery的初学者,所以我的问题是
<?php
for($i=0;$i<3;$i++)
{
?>
<form>
<input type="text" class="s" value="v<?php echo $i; ?>" />
<input type="button" value="OK" onclick="test();" />
</form>
<?php
}
?>
<script language="javascript">
function test(){
var a= $(".s").val();
alert(a);
}
</script>
我想获得单击按钮的文本的值,但如果我单击第一个或第二个或最后一个按钮,它会显示我&#39; v0&#39;对全部。 所以我想拥有&#39; V0&#39;如果我点击第一个按钮,&#39; v1&#39;第二个&#39; v3&#39;最后一次。
我想你会明白我想解释的是因为我再次成为英语初学者
答案 0 :(得分:2)
因为您正在使用它使用jQuery绑定事件。您可以使用它将按钮和绑定事件添加到CSS类中。
HTML 的
<form>
<input type="text" class="s" value="v<?php echo $i; ?>" />
<input class="btn" type="button" value="OK" />
</form>
脚本
$(function() {
//Bind event using btn class added to button
$('.btn').click(function(){
//Use .prev() to find the prev input
var a = $(this).prev(".s").val();
alert(a);
});
});
Refrences
指定在DOM完全加载时要执行的函数。
选择具有给定类的所有元素。
答案 1 :(得分:0)
当你得到上述html
时,它将如下所示:
<form>
<input type="text" class="s" value="v0" />
<input type="button" value="OK" onclick="test();" />
</form>
<form>
<input type="text" class="s" value="v1" />
<input type="button" value="OK" onclick="test();" />
</form>
<form>
<input type="text" class="s" value="v2" />
<input type="button" value="OK" onclick="test();" />
</form>
您可以为每个按钮添加class
,如下所示,从按钮中移除onclick
:
<?php
for($i=0;$i<3;$i++)
{
?>
<form>
<input type="text" class="s" value="v<?php echo $i; ?>" />
<input type="button" value="OK" class="btnGetVal" />
</form>
<?php
}
?>
并编写一个js
eventlistener,如下所示:
$('.btnGetVal').on('click',function(){
var a=$(this).prev('input').val();
alert(a);
});
答案 2 :(得分:0)
$("button").on("click", function() {
alert($(this).parent().find(".s").val());
});
答案 3 :(得分:0)
您正在将“正常”javascript处理与jquery处理混合。 要做你想做的事,你不需要jquery,但你可以用普通的javascript来完成。
您需要做的是在页面开头定义程序 然后在每个按钮中单击指定要操作的元素。
我会告诉你页面应该生成什么。 由你来编写生成它的php语句。
请记住,对于您的第一次实验,您总是可以写下来 带有扩展名.html的纯文本文件中的页面文本,并将其加载到浏览器中 只有在它工作之后你才能想到通过php生成它。
这是你应该生成的php: (不需要表单声明)
<html>
<head>
<script>
function test(elem) {
alert(elem.value);
}
</script>
</head>
<body>
<form>
<input type="text" name="e1" value="v0" />
<input type="button" value="OK" onclick="test(e1);" /> <br>
<input type="text" name="e2" value="v1" />
<input type="button" value="OK" onclick="test(e2);" /> <br>
<input type="text" name="e3" value="v2" />
<input type="button" value="OK" onclick="test(e3);" /> <br>
</form>
</body>
</html>
通过这种方式,每个输入按钮都与一个调用相同的函数“test”相关联,但是带有一个 不同的参数(相关的入口元素)
如果你想真正使用jquery,首先你必须下载它,把它放在php文件的同一目录中, 将其重命名为jquery.js并将其包含在页面标题中,如下所示。
有许多方法可以实现您想要的世界程序员。 在此示例中,以下脚本以这种方式工作:
$(":button").click(function() {
alert ($(this).prev().val());
});
每个按钮都链接到一个未命名的功能。 在此函数中,“$ this”关键字引用一个jquery对象,该对象表示被单击的按钮。 prev()调用在文档流中返回其前面的元素,即entry元素 在它的左边。 最后,val()语句返回其值,并显示Alert。
这里我再次只展示你必须生成的内容: 将它写在html文件上并在尝试通过php生成之前对其进行测试。
<html>
<head>
<script type="text/javascript" language="javascript" src="jquery.js"></script>
</head>
<body>
<form>
<input type="text" value="v0" />
<input type="button" value="OK"" /> <br>
<input type="text" value="v1" />
<input type="button" value="OK" /> <br>
<input type="text" value="v2" />
<input type="button" value="OK" /> <br>
</form>
<script>
$(":button").click(function() {
alert ($(this).prev().val());
});
</script>
</body>
</html>
祝你好运 莫里吉奥。