2017-01-17 21 views
0

ich habe eine Schleife in meinem Laravel Projekt, das Kontrollkästchen und Eingabe enthaltenfill Texteingabe bei der Überprüfung jquery

@foreach($s as $sh) 
<tr> 
<td><input type="checkbox" name="service_id[]" class="checkser" value="{{$sh->id}}"></td> 
<td class="checkservice">{{$sh->name}}</td> 
<td> <input type="text" class="form-control checkser inputservice" placeholder="{{trans('home.quantity')}}" name="ser_quantity[]" ></td> 
<td>{{$sh->price}}</td> 
</tr> 
@endforeach 

ich brauche mit Texteingabe zu füllen (1), wenn Checkbox
geprüft und diese leeren, wenn Checkbox deaktiviert

ich habe versucht, viele Verfahren aber nicht dies mit der nächsten Eingabe arbeiten nur

Antwort

2

Sie können dies mit jquery tun und einen 10 Event-Handler an Ihre checkbox binden.

Verwenden Sie auch closest Methode. Siehe Referenz here.

$('.checkser').change(function() { 
    if($(this).is(":checked")) { 
     $(this).closest('tr').find('.inputservice').val(1); 
    } 
    else 
     $(this).closest('tr').find('.inputservice').val('');   
}); 
+0

Dank für Ihre Hilfe
ich diese vorher verwendet, aber es all
zu füllen, wie die nächsten ‚$ (‘ nur überprüfen. Checkservice ') .change (function() { if ($ (this) .ist (": checked")) { $ (this) .next val (1); } sonst (' inputservice '.). $$ (dies) .next ('. Eingabe-Service'). Val (''); }); ' –

+0

@MohamedMehanny, habe ich meine Antwort aktualisiert. –

+0

Entschuldigung überprüfen Sie meine Bearbeitung, es funktioniert gut mit Mono-Feld, aber es funktioniert nicht mit Schleife ich versuchte .next, aber nicht funktioniert –

2

Versuchen jQuery is() Methode

if($(".checkser").is(':checked')) 
    $(".inputservice").val(1); // checked 
else 
    $(".inputservice").val(''); // unchecked 

Gerade $(selector).is(':checked')

verwenden Es gibt einen boolean Wert.

+0

Dank für Ihre Hilfe, habe ich versucht, die ersten Kommentar Methode und hat gut funktioniert –

Verwandte Themen