
groß
In HTML-Code verwende ich Code
<input type = "text" id = "[email protected]">
Um jetzt Text zu erhalten, muss der Wert abgerufen werden, der in das Textfeld eingegeben wird. Ich benutze jquery, um das zu tun:
$( 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( ' ' ).load( '{% url online_machines %}?id=' + idVal + '&bidvalue=" + bidValue);
});
});
Dadurch erhalte ich den Wert error undefined. Ich habe versucht, Sonderzeichen aus der ID zu entfernen, um ihren Wert zu erhalten. Aber ich brauche die ID mit Sonderzeichen. Wie kann ich seinen Wert mit jquery abrufen?
Anstatt die ID mit # zu versuchen, versuchen Sie dies, um ein Attribut wie dieses abzugleichen,
$("[id=ID]')
oder
$('[id='+ID+']')
also statt
bidID = "#" + idVal + "bid"
Du kannst es versuchen
bidID = "[id=" + idVal + "bid]"

ysrb
Versuchen Sie, ihm zu entkommen:
$('#abc\\@def.com').val();
Erster Absatz von http://api.jquery.com/category/selectors/
Es sieht so aus, als hätte JQuery ab Version 3 eine nützliche Methode aufgerufen escapeSelector
.
$('#' + $.escapeSelector(my_id_with_special_chars));
https://api.jquery.com/jQuery.escapeSelector/
$(document.getElementById('[email protected]'))
funktioniert auch.
Probieren Sie es aus, nicht zu 100%, ob es das ist, wonach Sie suchen. Gib mir Bescheid:
$( 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(' ').load('{% url online_machines %}?id=' + idVal + '&bidvalue=" + bidValue);
});
});

Josef Jojo John
Verwenden Sie die Funktion CSS.escape(), um dieses DOM-Element auszuwählen. In Ihrem Fall für die ID [email protected] können Sie den folgenden Code verwenden.
$("#" + CSS.escape("[email protected]'));

Gleno
Diese Lösung unten hat bei mir funktioniert, sie ist ziemlich sauber:
//your HTML id has special characters:
var option= "Some option with (parenthesis or @ )";
//use this type of jquery query:
$(`[id="order_${option}"]`).prop('checked',true)
10165500cookie-checkAuswahl von Elementen mit Sonderzeichen in der IDyes