J'ai du mal à trouver les valeurs de la zone de texte dans mon contrôle de répéteur. En cliquant sur le bouton, je dois obtenir une valeur de zone de texte correspondant à la zone de texte qui se trouve à l'intérieur du bouton sur lequel on clique.Trouver le contrôle dans le répéteur dynamiquement avec Jquery
j'ai donc:
Textbox1 ---> qui doivent être liés avec Button1 TextBox2 ----> qui est lié à Bouton2
<span>Question :</span><span>my second content <br /></span><span>Answer : </span><input name="ctl00$MainContent$ctl00$ctl00$TextArea" type="text" id="MainContent_ctl00_TextArea_0" value="6454" />
Ajouter une question
Question: abcdedf
Réponse: Ajouter une question
En ce moment j'ai jquery fonction qui obtiennent whic h est cliqué:
$(".addAnswerButton").click(function() {
//var quantityBox = $("#TextArea", $(this).parent());
var tr = $(this).closest("text")
alert(tr.val());
//quantityBox.text = "Hello there";
//var currentValue = quantityBox.val();
$(this).siblings('input[type="text"]').first().val("clicked");
//quantityBox.val(parseInt(currentValue) + 1);
});
Ive a obtenu fonctionner partiellement:
$(this).siblings('input[type="text"]').first().val("clicked");
où je reçois le texte mis textbox, mais là encore, si je clique second bouton, rien happends.
Qu'est-ce que je fais de mal? Comment puis-je obtenir de la valeur à partir d'une zone de texte spécifique?
MISE À JOUR
maintenant je vais avec une solution où j'ajoute attribut personnalisé à chaque contrôle:
<span>Question :</span>
<span>my second content <br /></span>
<span>Answer : </span>
<input name="ctl00$MainContent$ctl00$ctl00$TextArea" type="text" id="MainContent_ctl00_TextArea_0" value="654" mydataid="2" />
<button id="MainContent_ctl00_answerQuestion_0" Class="addAnswerButton" onclick="Click()" mydataid="2" >Add Question</button><hr /><span>Question :</span><span>abcdedf <br /></span>
<span>Answer : </span><input name="ctl00$MainContent$ctl00$ctl01$TextArea" type="text" mydataid="1" id="MainContent_ctl00_TextArea_1" value="654" />
<button id="MainContent_ctl00_answerQuestion_1" Class="addAnswerButton" onclick="Click()" mydataid="1">Add Question</button>
Donc maintenant je peux obtenir la coutume atribute de l'événement onclick en faisant ceci:
$(".addAnswerButton").click(function() {
var pos = $(this).attr("mydataid");
alert(pos);
// $(this).siblings('input[type="text"]').first().val("clicked");
});
Mais comment puis-je obtenir le contrôle de la zone de texte avec le nom d'attribut personnalisé samme en tant que bouton?
Mise à jour 2
Après 70 tryes je fini par comprendre (mes premiers tryes avec Jquery)
solution
$(".addAnswerButton").click(function() {
var pos = $(this).attr("mydataid");
results = $('input[type = "text"][mydataid="'+pos+'"]').first();
alert(results.val());
});
donc point est, vous obtenez des attributs personnalisés "nom", puis recherchez une zone de texte avec le même nom d'attribut.
Pouvez-vous montrer votre structure html? sont-ils tous frères et soeurs ou seulement frères et soeurs de l'élément relatif? –
Pouvez-vous créer un js violon avec le html et le jquery que vous avez? Ça va aider les charges lorsque vous essayez de le déboguer. – Burt
fiddler: http://jsfiddle.net/TcSWV/17/ – Timsen