2010-11-04 5 views
1

J'ai des problèmes avec ce code: je ne peux pas obtenir la valeur de textbox il:Comment obtenir la valeur de la zone de texte à l'intérieur de la table en utilisant jquery?

voici mes codes:

$(document).ready(function() { 
    $('#btnsave').click(function() { 
     //saveData(); 
     // for looping the tr id: 
     $("tr#mytr", "#mytable").each(function() { 

      // how to get value of pos_x in every tr?? 

     }); 
    }) 
}); 

et voici le code html

<table style="width:100%" id="mytable"> 
    <tr id="mytr"> 
    <td> 
    X position: 
    </td> 
    <td> 
    <input id="xPositionField" name="pos_x" style="width:100%"/> 
    <input id="yPositionField" name="pos_y" style="width:100%"/> 
    </td> 
    </tr> 
    <tr id="mytr"> 
    <td> 
    Y position: 
    </td> 
    <td> 
    <input id="xPositionField" name="pos_x" style="width:100%"/> 
    <input id="yPositionField" name="pos_y" style="width:100%"/> 
    </td> 
    </tr> 
    <tr id="mytr"> 
    <td> 
    Width: 
    </td> 
    <td> 
    <input id="xPositionField" name="pos_x" style="width:100%"/> 
    <input id="yPositionField" name="pos_y" style="width:100%"/> 
    </td> 
    </tr> 
    <tr id="mytr"> 
    <td> 
    Height: 
    </td> 
    <td> 
    <input id="xPositionField" name="pos_x" style="width:100%"/> 
    <input id="yPositionField" name="pos_y" style="width:100%"/> 
    </td> 
    </tr> 
    <tr id="mytr"> 
    <td> 
    Last save date: 
    </td> 
    <td> 
    <input id="xPositionField" name="pos_x" style="width:100%"/> 
    <input id="yPositionField" name="pos_y" style="width:100%"/> 
    </td> 
    </tr> 
    <tr> 
    <td colspan="2"> 
    <input type="button" name="btnsave" value="Save" id="btnsave" > 
    </td> 
    </tr> 
    </table> 

dans ce code, j'utilise même id de tr et certains id de chaque zone de texte ...

+2

Vos attributs d'ID doivent être uniques, vous ne pouvez pas utiliser le même ID sur plusieurs éléments. Utilisez l'attribut class à la place. –

Répondre

0

$ (this) .children ("# xPositionField"). Val();

jquery antisèche http://labs.impulsestudios.ca/jquery-cheat-sheet

BTW Je pense que vous devriez utiliser un autre identifiant pour les champs pos_y (comme yPositionField)

+0

Je l'obtiens .... nous pouvons modifier les codes comme ceci –

+0

Great! N'hésitez pas à accepter la réponse qui fonctionne pour vous! :) – SilverSkin

0

$ (this) .Find ("# xPositionField"). Val()

1
$('input[name="pos_x"]').each(function(){ 
    var pos_x = $(this).val(); 
    //Do what you want from here... 
}); 

devrait faire ce que vous voulez. La raison pour laquelle votre code ne fonctionne pas correctement tel qu'il est écrit est que plusieurs éléments ont le même ID. Les ID doivent être uniques (les classes peuvent être données à plus d'un élément).

Questions connexes