web-dev-qa-db-fra.com

Définir la valeur de textbox à l'aide de JQuery

Mon modèle Jade - 

input#main_search.span2(
    style = 'height: 26px; width: 800px;' ,
    type = 'text',
    readonly='true',
    name='searchBar',
    value='test'
)

Fichier JS - 

$('#searchBar').val('hi')
console.log('sup')

Sortie de la console - 

sup

Mais searchBar value stats at test. Qu'est-ce que je fais mal?

9
Narabhut

Vous vous connectez sup directement qui est une chaîne

console.log('sup')

Aussi, vous utilisez le mauvais identifiant

Le modèle indique #main_search mais vous utilisez #searchBar

Je suppose que vous essayez ceci

$(function() {
   var sup = $('#main_search').val('hi')
   console.log(sup);  // sup is a variable here
});
14
Sushanth --

Assurez-vous que vous avez le bon sélecteur, puis attendez que la page soit prête et que l'élément existe jusqu'à ce que vous exécutiez la fonction.

$(function(){
    $('#searchBar').val('hi')
});

Comme Derek le fait remarquer, l’identité est également fausse.

Changer en $('#main_search')

5
Zevi Sternlicht

1) vous l’appelez mal, essayez:

$(input[name="searchBar"]).val('hi')

2) si cela ne fonctionne pas, appelez votre fichier .js à la fin de la page ou déclenchez votre fonction sur l'événement document.ready

$(document).ready(function() {
  $(input[name="searchBar"]).val('hi');
});
2
AZee

Vous ciblez le mauvais élément avec ce sélecteur jQuery. La name de votre barre de recherche est searchBar et non la id. Ce que vous voulez utiliser est $('#main_search').val('hi').

1
Derek Peterson
$(document).ready(function() {
 $('#main_search').val('hi');
});
0
SagarPPanchal