2017-01-06 6 views
0

dies eine einfachen Antwort sein sollte, ich habekippt Text in div mit jQuery zurückgesetzt

keine js in einer Weile getan

ich habe eine Submit-Button und ein div in meinem html:

<input type="submit" name="submit"/> 
<div name="result">result here </div> 

Wenn die Submit-Button geklickt ich meinen Code ändern möchten den Text im div sieht also:

$('input[name=submit]').click(function(){ 
    $('div[name=result]').val('results from database ') //set new text 
}); 

ein jemand darauf hinweisen, warum dies nicht funktioniert?

+0

Sind Sie sicher, dass die Übermittlung die Seite nicht übermittelt und aktualisiert? Vielleicht durch einen normalen Knopf ersetzen? '' oder 'return false' vielleicht. –

Antwort

3

prüfen diese

$(function(){ 
 
    $('input[name=submit]').click(function(){ 
 
    $('#result').text('results from database ') //set new text 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
 
<input type="submit" name="submit"/> 
 
    <div id="result">result here </div>

+0

danke funktioniert das;) – LucyViolet

+0

Willkommen Lucy :) – Sharmila

-1
$('input[name=submit]').click(function(){ 
    $('div[name=result]').text('results from database ') //set new text 
}); 
+0

Haben Sie schon mal versucht, name Attribut zu div? Wenn nein, versuchen Sie es einmal, Sie erhalten es – rahulsm

+0

Ich führe den obigen Code seine Arbeit. @VforVendetta –

+0

Allerdings stimme ich dir mit div Name ist nicht geeignet –

2

Zum einen Namen ändern Attribut Klasse in div.

<div class="result">result here </div> 

Dann verwenden text Methode Wert in Elemente nicht-Eingang zu setzen. text sollte nur verwendet werden, wenn der Wert reiner Text ist (keine HTML-Elemente);

$('div.result').text('results from database'); 

Wenn Ihre Ergebnisse aus der Datenbank HTML enthält, verwenden html Methode

$('div.result').html('results from database'); 

Working Demo

0

div Elemente sollten keine name Attribut haben. Sie sollten ein id Attribut verwenden:

<input type="submit" name="submit"/> 
<div id="result">result here </div> 

dann Javascript/jQuery, die .html für die div bemerken, können Sie auch .text() verwenden. Sie haben .val() für Sie Div-Element, .val() funktioniert nur auf Eingabeelemente und es erhält oder setzt das value Attribut.

$('input[name=submit]').click(function(){ 
    $('#result').html('results from database ') //set new text 
}); 

Auch würde ich vorschlagen, ein id Attribut für die Schaltfläche verwenden, unlees Sie möglicherweise fehlten, um mehrere Tasten auswählen, die der gleiche name Attributwert becuse name teilen nicht eindeutig sein muss, aber id tut. Wenn Sie also nur eine bestimmte Schaltfläche möchten, sollten Sie das id Attribut und Selektor verwenden.

0

eaay Art und Weise ist die Verwendung Klasse oder ID Ergebnis

<input type="submit" name="submit"/> 
<div class="result">result here </div> 

<script> 
jQuery(document).ready(function ($) { 
    $('input[name=submit]').on('click', function(){ 
     $('.result').html('results from database'); 
    }); 
}); 
</script> 

ODER

<input type="submit" name="submit"/> 
<div id="result">result here </div> 

    <script> 
jQuery(document).ready(function ($) { 
    $('input[name=submit]').on('click', function(){ 
     $('#result').html('results from database'); 
    }); 
}); 
</script> 
1

Sie die ID-Set für den div Namens kann stattdessen zu zeigen.Wie unten:

<div id="result">result here </div> 

Jetzt können Sie den Wert von ID ändern wie:

$('#result').val('results from database '); 
0

Es ist besser, wenn Sie schreiben Sie Ihre html wie folgt aus:

<input type="submit" name="submit"/> 
<div data-name="result">result here </div> 

und dann unter Skript verwenden, um Ändern Sie den Text Ihres div:

$('input[name=submit]').click(function(){ 
    $('div[data-name="result"]').text('results from database ') //set new text 
    return false; // For not submitting the form so that 
        // you can see the changes if in case 
        // page is getting submitted it won't submit 
}); 

In Ihrem Code haben Sie zwei Fehler gemacht, aufgrund derer es nicht funktionierte. Sie Div-Selektor fehlte Zitate um Ergebnis und val sollte zB $ ('div [Name = Ergebnis]'). Val ("") sollte durch $ ersetzt werden ('div [Name = "Ergebnis"]'). Text ("").

val wird durch Text ersetzt, da val für Formularelemente verwendet wird, die ihr Standardwert-Attribut haben, das zum Senden von Werten an den Server beim Senden verwendet wird.

Darüber hinaus sollte die Verwendung des Namensattributs für normale dom-Elemente außer Formularelementen vermieden werden. An deren Stelle können Sie benutzerdefinierte Attribute wie "Datenname" definieren.