带Eq的jquery动态结构

带Eq的jquery动态结构,jquery,Jquery,我想使用动态jquery脚本进行一次提交,但它不起作用 我的代码怎么了 $(document).ready(function(){ $("#foo").each( function( i ) { $("button#foo").eq(i).click(function() { var a = this.val(); alert(a); }); });

我想使用动态jquery脚本进行一次提交,但它不起作用 我的代码怎么了

$(document).ready(function(){

   $("#foo").each( function( i )
   {

        $("button#foo").eq(i).click(function()
            {
               var a = this.val();
               alert(a);
            });
   });

});

<div id="tabs-1"><input type="type" value="one"><button id="foo"></button></div>

<div id="tabs-2"><input type="type" value="two"><button id="foo"></button></div>

<div id="tabs-3"><input type="type" value="tree"><button id="foo"></button></div>
$(文档).ready(函数(){
$(“#foo”)。每个(功能(i)
{
$(“按钮#foo”).eq(i).单击(函数()
{
var a=this.val();
警报(a);
});
});
});

谢谢mapet

问题是您正在重复ID。ID必须是唯一的。而且你所做的也没有多大意义。你想达到什么目的?

问题是你在重复ID。ID必须是唯一的。而且你所做的也没有多大意义。你想达到什么目的?

试试看

var a = this.value;
值是属性而不是方法

在jQuery中,您可以使用

$(this).val()
你的整个代码应该是这样的

$(document).ready(function(){
   $("#foo").click(function(){
      var a = this.value; // or you can use $(this).val() 
      alert(a);
   });
});
编辑

为所有按钮指定一个类名,并使用类选择器指定单击事件。更改您的按钮ID。ID在文档中应该是唯一的

$("button.btnclass").click(function(){
    // to get the value of the input previous to the current button element
    var val = $(this).prev().val(); 
    alert ( val );
});

$(function(){
  $("button.btnclass").click(function(){
    var currentElem = $(this);
    var val = currentElem.prev().val();
    var id = currentElem.attr("id");

    switch(id)
    {
      case "foo1"  : alert("ajax1");
                    break;
      case "foo2"  : alert("ajax2");
                  break;
      case "foo3"  : alert("ajax3");
                  break;
    }
  });
});​
第二次编辑

试一试

值是属性而不是方法

在jQuery中,您可以使用

$(this).val()
你的整个代码应该是这样的

$(document).ready(function(){
   $("#foo").click(function(){
      var a = this.value; // or you can use $(this).val() 
      alert(a);
   });
});
编辑

为所有按钮指定一个类名,并使用类选择器指定单击事件。更改您的按钮ID。ID在文档中应该是唯一的

$("button.btnclass").click(function(){
    // to get the value of the input previous to the current button element
    var val = $(this).prev().val(); 
    alert ( val );
});

$(function(){
  $("button.btnclass").click(function(){
    var currentElem = $(this);
    var val = currentElem.prev().val();
    var id = currentElem.attr("id");

    switch(id)
    {
      case "foo1"  : alert("ajax1");
                    break;
      case "foo2"  : alert("ajax2");
                  break;
      case "foo3"  : alert("ajax3");
                  break;
    }
  });
});​
第二次编辑


ID在所有元素中都应该是唯一的ID在所有元素中都应该是唯一的i have tab具有不同的内容我希望它是动态的,这样我的代码就不会是多余的。。像$(#foo1”)。单击(函数(){content…1})$(#foo2”)。单击(函数(){content…2})$(#foo3”)。单击(函数(){content…2});我有不同内容的标签,我希望它是动态的,这样我的代码就不会是多余的。。像$(#foo1”)。单击(函数(){content…1})$(#foo2”)。单击(函数(){content…2})$(#foo3”)。单击(函数(){content…2});但是rahul我是如何确定点击按钮的1还是2?如果(单击按钮1){ajax get;}否则{ajax get 2;}但是rahul我如何确定单击按钮1或2?如果(单击按钮1){ajax get;}否则{ajax get 2;}