2013-04-26 26 views
8

Ich habe mehrere Tasten, die ich benutze, wenn Leute eine Frage beantworten. Wie bekomme ich die Schaltflächen zum Ändern der Farben, wenn eine Person auf die Schaltfläche klickt? Ich weiß nicht, jquery, habe ich gesagt, dass es das Beste ist, für diesejquery change button color onclick

Hier zu verwenden ist der Code, den ich für den HTML-Teil haben:

<div style="text-align: center;"><span style="line-height: 18px; font-family: Arial, Helvetica, sans-serif; font-size: 24px;">In the past three months, how often have you used marijuana?<br /> 
<p><input type="submit" value=" Never " name="btnsubmit" id="answer" style="width: 200px;" /></p> 
<p><input type="submit" value=" Once or Twice " name="btnsubmit" id="answer" style="width: 200px;" /></p> 
<p><input type="submit" value=" Monthly " name="btnsubmit" id="answer" style="width: 200px;" /></p> 
<p><input type="submit" value=" Daily or Almost Daily " name="btnsubmit" id="answer" style="width: 200px;" /></p> 
</span></div> 
<div> 
<p style="text-align: right;"><a onclick="window.open(this.href,'_parent');return false;" href="/mobile/Static2.aspx"><input type="submit" value=" Next " name="btnsubmit" style="width: 100px;" /></a></p> 
</div> 

Ich bin wirklich neu bei Codierung so dass jeder Art von Hilfe würde geschätzt werden!

+0

$ ('# Antwort') klicken (function() {$ (this).css ({'Hintergrund': '# 00ff00'}); }); Bitte, beziehen Sie sich auf die jQuery-Dokumentation für weitere Details über seine Funktionen und API – Mikhus

+0

Ich hoffe, das ist keine Hausaufgabe. Und was ist mit all diesen doppelten IDs? Dies ist heute 4 Mal in Folge. Bitte beachten Sie, dass IDs eindeutig sein sollen. –

+0

Nein, das sind keine Hausaufgaben. Einer meiner Jobs besteht darin, eine Website zu aktualisieren und ich versuche, mit der Funktionsweise der Website eine neue Richtung einzuschlagen. Ich bin nicht viel von einem Programmierer! – Sean6971

Antwort

19
$('input[type="submit"]').click(function(){ 
$(this).css('color','red'); 
}); 

Gebrauchsklasse, Demo: - http://jsfiddle.net/BX6Df/

$('input[type="submit"]').click(function(){ 
      $(this).addClass('red'); 
}); 

wenn Sie die Farbe jeden Klick wechseln möchten, können Sie dies versuchen: - http://jsfiddle.net/SMNks/

$('input[type="submit"]').click(function(){ 
    $(this).toggleClass('red'); 
}); 


.red 
{ 
    background-color:red; 
} 

aktualisiert Antwort für Ihren Kommentar .

http://jsfiddle.net/H2Xhw/

$('input[type="submit"]').click(function(){ 
    $('input[type="submit"].red').removeClass('red') 
     $(this).addClass('red'); 
}); 
+0

Gibt es einen Weg, wenn sie einen auswählen und dann einen anderen wählen, würde der erste zurück zur ursprünglichen Farbe gehen? – Sean6971

+0

Sicher wird die Geige in einer Minute aktualisieren. – PSL

+0

hier gehts http://jsfiddle.net/H2Xhw/ – PSL

5

Ich würde nur eine separate CSS-Klasse erstellen:

.ButtonClicked { 
    background-color:red; 
} 

Und dann die Klasse auf Klick hinzufügen:

$('#ButtonId').on('click',function(){ 
    !$(this).hasClass('ButtonClicked') ? addClass('ButtonClicked') : ''; 
}); 

Dies sollte das tun, was Sie suchen, von this jsFiddle zeigt. Wenn Sie neugierig auf die Logik mit der ? und so sind, heißt es ternary (or conditional) operators, und es ist nur eine prägnante Möglichkeit, die einfache if-Logik zu tun, um zu überprüfen, ob die Klasse bereits hinzugefügt wurde.

Sie können auch die Fähigkeit, erstellen ein haben „on/off“ -Schalter fühlen durch die Klasse Makeln:

$('#ButtonId').on('click',function(){ 
    $(this).toggleClass('ButtonClicked'); 
}); 

Dargestellt von this jsFiddle. Nur zum Nachdenken.

+1

das ist genau warum ich meinen ursprünglichen Kommentar gelöscht habe, weil es unweigerlich zu einem Bickerfest führen würde. Ich habe nicht erwartet, dass es passiv aggressiv ist, aber trotzdem wollte ich es vermeiden. Ich habe meine Antwort aktualisiert, lass uns einfach die Hände schütteln und es als Quadrat bezeichnen. – PlantTheIdea

3

Verwenden css:

<style> 
input[name=btnsubmit]:active { 
color: green; 
} 
</style> 
0

Fügen Sie diesen Code auf Ihre Seite:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("input[type='submit']").click(function(){ 
     $(this).css('background-color','red'); 
    }); 
}); 
</script> 
+0

Wenn ich dies nutze, wie würde ich die Schaltfläche lesen lassen? Nachdem Sie darauf geklickt haben, wird es wieder auf die ursprüngliche Farbe zurückgesetzt. – Sean6971

+0

Ein JavaScript wird nur auf der Site ausgeführt, auf der es enthalten ist. Wenn Sie Informationen speichern möchten, müssen Sie sie irgendwo speichern. Wie ein Cookie zum Beispiel. – Wipster

0

Sie haben die jquery Rahmen in Ihrem Dokument Kopf von einem CDN enthalten zum Beispiel:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> 

Dann müssen Sie ein eigenes Skript zum Beispiel umfassen:.

(function($) { 

    $(document).ready(function(){ 
     $('input').click(function() { 
      $(this).css('background-color', 'green'); 
     } 
    }); 


    $(window).load(function() { 
    }); 

})(jQuery); 

Dieser Teil ist eine Abbildung des $ zu jQuery, so dass es tatsächlich ist jQuery ('Wähler') function();

(function($) { 

})(jQuery); 

Hier können Sie api von jquery finden sterben, in der alle Funktionen aufgeführt sind, mit Beispielen und Erklärungen. http://api.jquery.com/