Aktivieren Sie das Kontrollkästchen, wenn ich etwas in einen Eingabetyp Text schreibe

Lesezeit: 3 Minuten

Benutzer-Avatar
Deimos

Ich versuche, ein Formular zu erstellen, das so aussieht:

tUSiS

wo, wenn innerhalb des Eingabetyps =”text” so etwas wie eine Zahl ist, wird die CHECKBOX automatisch überprüft, ist jquery? oder einfaches PHP.

Ahh, das Wichtigste ist, ich benutze woocommerce, also mache ich die Funktion so.

add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');


function my_custom_checkout_field( $checkout ) {




    woocommerce_form_field( 'losung', array( 
        'type'          => 'text', 
        'class'         => array('my-field-class'), 

        'label'         => __('titel'), 
        'placeholder'   => __('Enter a number'),
        ), $checkout->get_value( 'my_field_name' ));
        echo '<div class="spiele-container">';
        echo '<input class="input-checkbox pull-left" id="" type="checkbox" name="ter">';
        echo '<div id="text-container-spiele">text ';
    echo '</div>';
    echo '</div>';

}

  • Kannst du eine Geige oder so etwas geben?

    Benutzer2897690

    3. Februar 2014 um 14:52 Uhr

  • In diesem Fall hat es nichts mit PHP zu tun, es ist eine Sache mit jquery/javascript.

    – Populus

    3. Februar 2014 um 14:56 Uhr

Benutzer-Avatar
Roy MJ

Sie können so etwas tun:

HTML:

<input type="text" class="something" />
<br>  
<input type="checkbox" name="check" class="check">

JS:

$("input[type="text"]").on("keyup", function(){
    if(this.value!=""){
        $("input[type="checkbox"]").prop("checked", "checked");
    }else{
        $("input[type="checkbox"]").prop('checked', ""); 
    }
});

Demo : http://jsbin.com/anANoSof/1/

Eine sauberere Lösung wäre, eine Klasse/ID für das Textfeld sowie das Kontrollkästchen zu verwenden und wie folgt zu verwenden:

HTML:

<input type="text" class="num" />
<br>  
<input type="checkbox" name="check" class="check">

JS:

$(".num").on("keyup", function(e){
    if(this.value!=""){
        $(".check").prop("checked", "checked");
    }else{
        $(".check").prop('checked', ""); 
    }
});

Demo : http://jsbin.com/iWESuTa/1/

Um den Benutzer daran zu hindern, manuell auf das Kontrollkästchen zu klicken, verwenden Sie gemäß @Fred einfach die disabled Attribut wie folgt:

 <input type="checkbox" disabled name="check" class="check">

Demo : http://jsbin.com/iWESuTa/2/

  • Das ist, was ich will, aber wenn Sie den Text löschen, erscheint immer noch das Kontrollkästchen aktiviert,

    – Deimos

    3. Februar 2014 um 14:58 Uhr

  • Gute Antwort! Was eine gute Ergänzung wäre, ist zu verhindern, dass das Kontrollkästchen ausgewählt wird, wenn kein Text eingegeben wird. Was hier passiert, ist, wenn jemand das Kontrollkästchen aktiviert, wird möglicherweise ein leerer Wert gesendet, von dem ich bezweifle, dass das OP dies möchte. (nur gesagt) 😉

    – Funk Forty-Niner

    3. Februar 2014 um 19:13 Uhr


Verwenden Sie diesen jQuery-Code.

bedenke, dass du einen Ausweis hast tbox für Textfeld und ID cbox für Kontrollkästchen.

$( "#tbox" ).keypress(function() {
    $('#cbox').prop('checked', true);
});

Tastendruck ist die Funktion, die ausgelöst wird, wenn ein Zeichen in das Textfeld eingegeben wird.

Die Prop-Funktion ist jQuery 1.6+.

Nun, dies ist eine JS-Aufgabe (meistens dreht sich alles, was ohne Seitenneuladen abläuft, um JS). Bei Verwendung von jQuery ist der Code, den Sie benötigen, so etwas wie

$(function(){
  $('.my-field-class').keyup(function(){
    var $cb =  $(this).parents('form:eq(0)').find('.input-checkbox');
    if(this.value != '')
      $cb.attr('checked', 'checked');
    else
      $cb.removeAttr('checked');
  });
});

1089710cookie-checkAktivieren Sie das Kontrollkästchen, wenn ich etwas in einen Eingabetyp Text schreibe

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

Privacy policy