2011-07-13 16 views
8

W kodzie html używam kodu <input type = "text" id = "[email protected]">, aby uzyskać tekst teraz trzeba uzyskać jego wartość, która jest wprowadzana w polu tekstowym. Używam jquery, aby to zrobić:specjalne znaki w id tagów 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); 
    }); 
}); 

W ten sposób otrzymam błąd wartości niezdefiniowany. Próbowałem usunąć znaki specjalne z identyfikatora, aby uzyskać jego wartość. Ale potrzebuję id ze specjalnymi znakami. Jak mogę Mam jego wartość za pomocą jquery?

Odpowiedz

0

Mają szansę na to, nie w 100%, czy to jest to, czego szukasz. Daj mi znać:

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

Zamiast próbować na ID za pomocą #, spróbuj dopasować atrybut tak,

$('[id=ID]') 

lub

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

więc zamiast

bidID = "#" + idVal + "bid" 

można spróbować

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

dzięki pracował dla mnie – big

+6

może chcesz zaakceptować/upvote w tym przypadku :) –

+0

W niektórych przypadkach może być konieczne, aby zrobić to w ten sposób: $ ("[id = 'id']") –