我想用动态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>
感谢mapet
答案 0 :(得分:2)
尝试
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);
});
});
<强> 修改 强>
为所有按钮指定一个类名,并使用类选择器指定click事件。更改按钮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 );
});
<强> Working Demo 强>
第二次修改
$(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;
}
});
});
答案 1 :(得分:1)
问题是你在重复ID。 ID必须是唯一的。你正在做的事情也没有多大意义。你想要实现什么目标?