获取类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

我是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>


因为您使用的是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>