我創建多個表單從jquery中檢索數據。之後,我想與個人形式工作,而不發送表單,但我有問題檢索輸入的價值。它們都在警報標籤中未定義。 粘貼我的代碼。感謝所有爲什麼這個輸入值未定義與jquery
<script>
$("#select_idioma").bind('click',function(){
cargatraducciones($("#select_idioma").val());
});
function cargatraducciones(idi){
$('#listadopalabras').hide("fast");
$('#cargando').fadeIn(1000);
$.ajax({
type: "POST",
url: "../includes/ajax.php",
dataType : "json",
data: "opc=traducciones&idi="+idi,
success: function(datos){
crealistado(datos,idi);
}
});
}
function crealistado(datos,idi){
var html ="";
if(datos.length ==0){
html +="<div id='errors'>No hay datos disponibles para mostrar</div>";
}else{
html +="<h2>Listado de palabras a traducir</h2>";
html += "<div class='nota'>Las palabras pendientes para traducir, aparecen con el texto traducir. Escriba la traducción y pulse en guardar.</div>";
for(i=0; i < datos.length; i++){
html += "<form style='background:";
if(datos[i].valor == "traducir"){
html += "red;";
}else{
html += "#f2f2f2;";
}
html+= "border-radius:5px; margin-top:5px;margin-bottom:5px; padding:5px 10px' action ='' method=''>";
html += "<a href='eliminar.php?tipo=traduccion&id="+datos[i].id+"' onclick=\"return confirm('¿Desea elminiar la palabra "+datos[i].nombre+"?')\"><img src='../imatges/iconos/delete_24.png'/></a>";
html += "<input style='display:none' type='text' name='idt' value='"+datos[i].id+"'/>";
html += "<div style='width:700px'>"+datos[i].nombre+"</div>";
html += "<input style='width:700px' type='text' name='valor"+i+"' id='valor"+i+"' value='"+datos[i].valor+"'/>";
html += "<input style='margin-left:10px' type='button' class='button"+i+"' value='Modificar' />";
html += "</form>";
html += "<hr style='margin:0; margin-bottom:2px' />";
}
}
$('#cargando').hide("fast");
$('#listadopalabras').html(html);
$("#listadopalabras").fadeIn(1000);
var total = datos.length;
procesa(total);
}
function procesa(total){
for (i=0; i<total; i++){
$(".button"+i).click(function() {
alert($("input#valor"+i).val());
// validate and process form here
var valor = $("input#valor"+i).val();
if (valor == "") {
alert("debe escribir un texto para la traducción");
$("input#valor"+i).focus();
return false;
}
alert("clicado");
});
}
}
</script>
您可能會得到一個答案,但獲得答案的最快方式是在jsFiddle上發佈一個工作示例,然後在此處發佈鏈接。 – 2012-02-02 16:14:29
請顯示HTML。 – gdoron 2012-02-02 16:14:53
@gdoron - 看起來HTML是在'crealistado'函數中動態生成的。 – ShankarSangoli 2012-02-02 16:18:00