2016-04-29 5 views
0

Ich möchte das Kontrollkästchen basierend auf der ID in Textbox getrennt durch Komma (,) wie (1,2,3, ..). Wie können wir das in jquery erreichen?Wie Ankreuzfeld auf der Grundlage von Textbox-Werten getrennt durch Komma in Jquery auswählen?

function cblist_check() { 
 

 
    if ($('input[type=text][id$=rate]').val() != "") { 
 
    var arrate = $('input[type=text][id$=rate]').val().split(','); 
 
    for (var i in arrate) { 
 
     $('[id$=listRates] input[type=checkbox]').attr("checked") 
 

 
    } 
 

 
    } 
 

 
}
<div style='position:relative;'> 
 
    <input type='checkbox' id='1' data-display-name='Rack/General' /> 
 
    <label for='1'>Rack/General</label> 
 
    <img id='img_1' class='checkboxFixIconLeft' /> 
 
</div> 
 
<div style='position:relative;'> 
 
    <input type='checkbox' id='4' data-display-name='Government' /> 
 
    <label for='4'>Government</label> 
 
    <img id='img_4' class='checkboxFixIconLeft' /> 
 
</div> 
 
<div style='position:relative;'> 
 
    <input type='checkbox' id='6' data-display-name='Package' /> 
 
    <label for='6'>Package</label> 
 
    <img id='img_6' class='checkboxFixIconLeft' /> 
 
</div> 
 
<div style='position:relative;'> 
 
    <input type='checkbox' id='3' data-display-name='Family' /> 
 
    <label for='3'>Family</label> 
 
    <img id='img_3' class='checkboxFixIconLeft' /> 
 

 

 
</div>

Antwort

0

Sie müssen nicht einzeln durchlaufen Array und Satz geprüft . Sie können .map() Funktion verwenden, um alle Elemente zu bekommen und dann setzen sie alle auf einmal geprüft:

var arrate = $('input[type=text][id$=rate]').val().split(','); 
var targetcheckboxes =$.map(arrate, function(i) { return document.getElementById(i) }); 
$(targetcheckboxes).prop('checked', true); 
+0

Seine Funktion funktioniert aber nur einmal, wenn die Seite zum ersten Mal geladen wird. Was sollte eine mögliche Lösung sein? Ich möchte, dass es bei jedem Klick funktioniert. Bitte aktualisieren. –

+0

@RahulHendawe: Sie müssen den Code auf Click-Ereignis schreiben. –

+0

Ja, ich rief cblist_check() -Funktion on onclick, aber es funktioniert nicht richtig. –

0

Sie müssen nur den Wert mit dem # Selektor verketten,

var arrate = $('input[type=text][id$=rate]').val().split(','); 
for (var i in arrate) { 
    $('#' + arrate[i]).prop("checked",true) 
} 

Fiddle

+0

Hallo Anoop - Dank für die sofortige Antwort finden Sie in meinem HTML-Code unten, wie kann ich eine Funktion cblist_check nennen () als ianchor-Tag enthält href-Wert zum Weiterleiten an den Seitenbereich ?: <%=MBBE_Revamped.Labels.GetLabel(langID, hotel, "RateCorpCode") %>

0
function cblist_check() { 
    var s = ',' + $('input[type=text][id$=rate]').val() + ','; 
    $('input[type=checkbox]').each(function(i, x){ 
     $(x).prop("checked", s.indexOf(',' + $(x).attr('id') + ',') > -1); 
    }); 
} 
Verwandte Themen