füge ein Bild zu einem Kontrollkästchen für die HTML-Eingabe oder einem Radio hinzu

Lesezeit: 5 Minuten

fuge ein Bild zu einem Kontrollkastchen fur die HTML Eingabe oder
f1wade

Ich versuche, ein Bild anzugeben, das für meine nicht markierten und aktivierten Werte für das Kontrollkästchen für den HTML-Eingabetyp und das Radio verwendet werden soll.

Ich habe das:

background: url("image.png") no-repeat;

aber es scheint nicht auf Radio und Checkbox-Only-Button zu funktionieren.

Kennt jemand etwas, das funktioniert?

  • Hoffentlich liegt es nicht an der Positionierung, da das Kontrollkästchen im Verhältnis zu einer Schaltfläche sehr klein ist? Der Bildhintergrund wurde zwar angewendet, wurde jedoch möglicherweise ausgeblendet.

    – adarshr

    25. Februar ’11 um 12:19

Ich habe eine Antwort gefunden und bearbeitet. mit Hilfe dieser Foren
http://forums.digitalpoint.com/showthread.php?t=665980

Der gesamte Code ist unten: Sie können in eine einzelne Datei kopieren und Ihre eigenen Bilder hinzufügen und es wird funktionieren.

<html>
<script type="text/javascript">
//global variables that can be used by ALL the function son this page.
var inputs;
var imgFalse="52 0 ROff.png";
var imgTrue="52 0 ROn.png";

//replace the checkbox with an image and setup events to handle it
function replaceChecks() {
    //get all the input fields on the page
    inputs = document.getElementsByTagName('input');

    //cycle trough the input fields
    for(var i=0; i<inputs.length; i++) {

    //check if the input is a checkbox
    if(inputs[i].getAttribute('type') == 'checkbox') {

        //create a new image
        var img = document.createElement('img');

        //check if the checkbox is checked
        if(inputs[i].checked) {
            img.src = imgTrue;
        } else {
            img.src = imgFalse;
        }

        //set image ID and onclick action
        img.id = 'checkImage'+i;
        //set image
        img.onclick = new Function('checkClick('+i+')');

        //place image in front of the checkbox
        inputs[i].parentNode.insertBefore(img, inputs[i]);

        //hide the checkbox
        inputs[i].style.display='none';
    }
}
}

//change the checkbox status and the replacement image
function checkClick(i) {
if(inputs[i].checked) {
    inputs[i].checked = '';
    document.getElementById('checkImage'+i).src=imgFalse;
} else {
    inputs[i].checked = 'checked';
    document.getElementById('checkImage'+i).src=imgTrue;
}
}

</script>
</html>
<body>
<input type="checkbox" />
<script type="text/javascript">replaceChecks();</script>
</body>

  • Hat perfekt funktioniert, ohne Probleme. Ich war am Anfang nur verwirrt, weil Sie die Namen der Bilder mit Leerzeichen geschrieben haben. Danke!

    – xarlymg89

    6. Apr. ’13 um 19:50

Schau dir das an Ryan Fait – Benutzerdefinierte Kontrollkästchen und Optionsfelder … Hoffentlich ist es das, wonach Sie suchen 😉

  • Ich habe das gesehen, aber es sieht ein wenig komplex aus und ich habe mich gefragt, ob es einen einfacheren Weg gibt?

    – f1wade

    27. Februar ’11 um 10:00

  • Keine Ahnung, aber keine Angst, es ist nicht so kompliziert, wie es scheint

    – Elwhis

    27. Februar ’11 um 10:43

  • Ich habe gerade versucht, dieses Ryan-Fait-Ding zum Laufen zu bringen, aber die Bilder funktionieren nie.

    – f1wade

    11. März ’11 um 10:51

  • Nun, das ist seltsam, ich habe es ohne extremen Aufwand zum Laufen gebracht. Es muss “das kleine Etwas” geben, das nicht stimmt und es zwingt, nicht zu funktionieren.

    – Elwhis

    13. März ’11 um 12:45

  • Ich habe es funktioniert, aber ich kann das “alte” Kontrollkästchenbild nicht ausblenden. Es zeigt beide Kontrollkästchen, das von mir erstellte und das normale Kontrollkästchen. Irgendeine Hilfe dabei?

    – xarlymg89

    6. Apr. ’13 um 19:45

1641836280 700 fuge ein Bild zu einem Kontrollkastchen fur die HTML Eingabe oder
Nidhi

In der Checkbox, wenn Sie Bilder oder / und Farbe ändern möchten, ist der optimierte Weg http://jsfiddle.net/nsoni/4cHSB/5/ Hier können Sie entweder auf “Artikelname” oder auf “Checkbox” klicken und den Effekt abrufen.

HTML-Code:

  <div class="had">
        <div class="ch">
            <input type="checkbox" id="sho1" name="chk1">
            <div class="so"></div>
            <label for="sho1">Select one</label>
        </div>
        <div class="ch">
            <input type="checkbox" id="sho2" name="chk2">
            <div class="so"></div>
            <label for="sho2">Select two</label>
        </div>
    </div>

CSS:

    input {
               display: none;
    }

        input [type=checkbox]:checked+.so{
              background-image:url('http://goo.gl/3tza1X');
              background-repeat:no-repeat;background-color:green;
              border-radius:50%;background-position: -2px -1px;
    }

        input [type=checkbox]:checked+.so+label{
           color: red;
    }

        .so {
             margin: 2px; float: left;height: 30px;width: 30px;
             border: 3px solid #D8D8D8;background-color: #4679BD;
             border-radius: 5px;
    }

        .show {
               margin-left: 30px;
    }

        .had {
               margin: 50px auto;width: 50%;border: 1px solid black;
               height: 30px;padding:10px;
    }

        .ch {
              float: left;margin-left:20px;width:40%
    }

        label {
               height: 30px;width: 100%;position:relative;
               display:block;margin-top: 5px;
    }

fuge ein Bild zu einem Kontrollkastchen fur die HTML Eingabe oder
Benutzer2314737

So habe ich es gemacht. Ich verwende den Radioeingang. Die Eingabefelder werden ausgeblendet und das Bild in jedem Etikett ändert sich, wenn die Eingabe ausgewählt/nicht ausgewählt wird.

Jsgeige: http://jsfiddle.net/EhDsf/

HTML-Code:

<div class="options">
    <label title="item1">
        <input type="radio" name="foo" value="0" /> 
      Item 1
        <img />

   </label>
    <label title="item2">
        <input type="radio" name="foo" value="1" />
        Item 2
        <img />
    </label>   
    <label title="item3">
        <input type="radio" name="foo" value="2" />
        Item 3
        <img />
    </label>
</div>

CSS:

div.options > label > input {
    visibility: hidden;
}

div.options > label {
    display: block;
    margin: 0 0 0 -10px;
    padding: 0 0 48px 0;  
    height: 20px;
    width: 150px;

}

div.options > label > img {
    display: inline-block;
    padding: 0px;
    height:60px;
    width:60px;
    background: url(https://cdn2.iconfinder.com/data/icons/snipicons/500/thumbs-down-128.png);
    background-repeat: no-repeat;
    background-position:center center;
    background-size:60px 60px;
}

div.options > label > input:checked +img {  
    background: url(https://cdn1.iconfinder.com/data/icons/onebit/PNG/onebit_34.png);
    background-repeat: no-repeat;
    background-position:center center;
    background-size:60px 60px;
}

  • Es gibt also keine Möglichkeit in CSS, Bilder zu Radio und Kontrollkästchen hinzuzufügen, was ist der einfachste Weg, dies mit Javascript zu tun?

    – f1wade

    27. Februar ’11 um 10:01

.

321450cookie-checkfüge ein Bild zu einem Kontrollkästchen für die HTML-Eingabe oder einem Radio hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy