2010-04-20 4 views
0

Я хочу сделать одно представление с динамическим сценарием jquery, но он не сработал Что случилось с моим кодом?jquery dynamic practure with Eq

$(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

+1

Идентификаторы должны быть уникальными во всех элементах –

ответ

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); 
    }); 
}); 

Edit

Дайте все кнопки имя класса и селектор использование класса назначить событие щелчка. Измените идентификаторы кнопок. Идентификатор должен быть уникальным в документе.

$("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; 
    } 
    }); 
});​ 
+0

, но rahul, как я определяю, что кнопка click.1 или 2? если (кнопка кнопка1) { ajax get; } else { ajax get 2; } – mapet

+0

Отредактировал свой ответ – rahul

+0

вам нужно это .. rahul thanks alot ^^ – mapet

1

Проблема вы повторяете идентификаторы. Идентификаторы должны быть уникальными. То, что вы делаете, не имеет большого смысла. Чего вы пытаетесь достичь?

+0

у меня есть вкладка с различным содержанием я хочу его динамический так что мой код не будет избыточным. как .. $ ("# foo1"). Click (function() { \t ... 1 }); $ ("# Foo2") нажмите (функция() { содержание \t ... 2 }). $ ("# foo3") нажмите (функция() { содержание \t ... 2 }). – mapet