2016-06-03 16 views
0

Ich habe Schaltflächen mit Beschriftungen, die sich je nach geladenem Thema ändern. Wenn Sie darauf klicken, lädt die Schaltfläche neue Daten in ein Diagramm. Dies funktioniert gut bei Span-Elementen, aber es funktioniert nicht, wenn ich die Spanne in einer Schaltfläche umschließe.Schaltflächen mit dynamischem Inhalt

Beispiel:

<button type = "button" class = "btn btn-default"><span id="cat1"></span></button> 

Labels gesetzt mit:

click: function (e) { 
      document.getElementById('cat1').innerHTML = 'something' 
}; 

Daten werden mit auf Klick gebunden:

$("#cat1").click(function() { 
    // do stuff 
}); 

etwas geht verloren, wenn ich den Knopf für die Spanne hinzufügen . Ich habe versucht, span mit einem Anker zu ersetzen, aber es funktioniert auch nicht.

+3

Gibt es einen Grund, warum Sie die Spanne benötigen? Warum nicht einfach diese ID auf die Schaltfläche verschieben. – gravityplanx

+1

stimme ich zu. Das Einfügen der ID in die Schaltfläche scheint die beste Idee zu sein. Eine andere Option wäre die Verwendung von Select- und Option-Tags –

+0

ich versuchte. Nichts passiert, selbst wenn ich die ID in den Knopf stecke. – Monduiz

Antwort

1

Haben Sie es versucht?

<button type="button" class="btn btn-default" id="cat1"></button> 
1

Wie Sie jQuery verwenden, können Sie eine einfachere Form versuchen.

Versuchen Sie es:

$('#cat1').click(function() { 
    $(this).html('something'); 
}); 

Oder wenn der Sollwert aus der Veranstaltung ist es, man kann es versuchen:

$('#cat1').html('something'); 
+0

Rafael, interessante Syntax. Ich muss den Inhalt im Voraus definiert haben, nicht nur auf einen Klick, damit die Einrichtung etwas früher in der App erfolgt. – Monduiz

0

Sie können den Text in Spanne aktualisieren, wenn die Taste folgende Verwendung geklickt wird Code

$('#btnClick #cat1').text("something"); 

In den oben genannten gab ich eine ID für Button als btnClick.

Sie können die Funktionalität auch ohne Span verwenden. Dafür benötigen Sie Taste als

<button id="btnClick">Button</button> 

Um Text der Schaltfläche, um zu ändern, die der Code muß Click-Ereignis sein

$('#btnClick').text("change") 
0

werden, wenn eine Spanne innerhalb eines Knopfes verschachtelt ist, jedes Mal, Sie klicken darauf, der Knopfklick wird ausgelöst. aber die Spanne Klick ist nicht

gefeuert basierend auf HTML, es sieht aus wie Sie Bootstrap verwenden, können Sie so etwas wie die folgenden

<div class="btn btn-default"> 
    <span id="cat1"></span> 
</div> 

tun kann ich ein funktionierendes Beispiel in der Geige haben.

http://jsfiddle.net/pparas/dv3amy7k/1/

Verwandte Themen