2011-07-13 20 views
8

En código html Estoy usando el código <input type = "text" id = "[email protected]"> para obtener el texto ahora necesita obtener el valor que se ingresa en el campo de texto. Estoy usando jQuery para hacer eso:caracteres especiales en id de etiquetas html

$(document).ready(function() { 
    $(".bid").click(function() { 
     idVal = this.id 
     bidID = "#" + idVal + "bid" 
     spanID = "#" + idVal + "cbid" 
     bidValue = $(bidID).val(); 

     alert(idVal) 
     alert(bidID) 
     alert(bidValue) //this alert says undefined 
     $(spanID).html('&nbsp;').load('{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue); 
    }); 
}); 

Al hacer esto me sale el error indefinido valor. Traté de eliminar los caracteres especiales de la identificación para obtener su valor. Pero necesito la identificación con caracteres especiales. ¿Cómo puedo obtener su valor usando jquery?

Respuesta

-4

Dar comillas simples a ambos lados de la identificación, así:

$('#[email protected]').val() 
0

tener un tiro en esto, no al 100% sobre si esto es lo que buscas. Hágamelo saber:

$(document).ready(function() { 
    $(".bid").click(function() { 
     idVal = $(this).attr('id'); 
     bidID = "#" + idVal + "bid"; 
     spanID = "#" + idVal + "cbid"; 
     bidValue = bidID.val(); 

     alert(idVal); 
     alert(bidID); 
     alert(bidValue); 
     spanID.html('&nbsp;').load('{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue); 
    }); 
}); 
24

En lugar de tratar de ID usando #, probar esto para que coincida con el atributo de este tipo,

$('[id=ID]') 

o

$('[id='+ID+']') 

así que en vez de

bidID = "#" + idVal + "bid" 

puedes probar

bidID = "[id=" + idVal + "bid]" 
+0

gracias que trabajó para mí – big

+6

Es posible que desee aceptar/upvote en ese caso :) –

+0

En algunos casos es posible que deba hacerlo así: $ ("[id = 'ID']") –