获取类jquery的值
我是jquery的初学者,所以我的问题是获取类jquery的值,jquery,Jquery,我是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 la
<?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>
因为您使用的是jQuery绑定事件。您可以将CSS类添加到button并使用它绑定事件
HTML
参考文献
指定DOM完全加载时要执行的函数
选择具有给定类的所有元素
将事件处理程序绑定到“单击”JavaScript事件,或在元素上触发该事件
获取匹配元素集中每个元素的前一个同级,可选地通过选择器进行筛选
当您获得上述内容的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>
并编写一个js
eventlistener,如下所示:
$('.btnGetVal').on('click',function(){
var a=$(this).prev('input').val();
alert(a);
});
您将“普通”javascript处理与jquery处理混合在一起。
要想做你想做的事情,你不需要jquery,但是你可以用普通的javascript来做
您需要做的是在页面的头部定义过程
然后在每个按钮中单击指定要操作的元素
我将向您展示页面应生成的内容。
由您来编写生成它的php语句
记住,在第一次实验中,你总是可以写下
将页面文本放在扩展名为.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>
这是php应该生成的内容:
(实际上不需要表单语句)
每个按钮都链接到一个未命名的函数。
在这个函数中,“$this”关键字引用一个jquery对象,它表示被单击的按钮。
prev()调用返回文档流中紧靠它前面的元素,即entry元素
在它的左边。
最后,val()语句返回其值,并显示为Alert
在这里,我将再次展示yout php必须生成的内容:
在试图通过php生成之前,将其写入html文件并进行测试
<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>
为什么警报(b)代码>当值在a
中时?我想在文本字段中输入的值在数据库中,因此我使用foreach for来获取值,因此我不能使用三种不同的表单,但您的代码会生成三种不同的表单
,否则您需要将表单
放入for循环中
$('.btnGetVal').on('click',function(){
var a=$(this).prev('input').val();
alert(a);
});
$("button").on("click", function() {
alert($(this).parent().find(".s").val());
});
<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>
$(":button").click(function() {
alert ($(this).prev().val());
});
<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>