Wie Checkbox einstellen checked basierend auf der zweiten Spalte td wird mit JQuery abgestimmt?

stimmen
0

Ich möchte Checkbox gesetzt wird überprüft, wenn die zweite Spalte Datensatz angepasst ist. Wenn Datensatz mit zweiter Spalte übereinstimmt, hat das Ankreuzfeld einzustellen für die gleiche Zeile überprüft wird.

$(#ContentPlaceHolder1_GridView1 tr td:nth-child(2)).each(function () {
                            //alert($(this).text());
    for(var i = 0;i<data.d.length;i++){
        if ($(this).text() === data.d[i]) {    // 222 === 222
            alert('data =' + data.d[i] + '  $(this).text() = ' + $(this).text());

            //here I have to set checkbox
        }
    }
});

Hier ist mein HTML-Code:

<table id=ContentPlaceHolder1_GridView1>
<tbody>
    <tr>
        <th> </th>                //No column header for checkbox
        <th>Documnet NO</th>
    </tr>
    <tr>
        <td><input id=Checkbox1 class=checkBoxClass type=checkbox></td>
        <td>111</td>
    </tr>
    <tr>
        <td><input id=Checkbox2 class=checkBoxClass type=checkbox></td>
        <td>222</td>
    </tr>
    <tr>
        <td><input id=Checkbox3 class=checkBoxClass type=checkbox></td>
        <td>333</td>
    </tr>
</body>

bis jetzt ist der passende Datensatz Alarmarbeits

Veröffentlicht am 16/10/2017 um 10:01
vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

$(this)bezieht sich auf Rahmen td-Element. Sie können

1) finden td-Elemente Geschwister

2) Finden Eingabeelement in td

3) gesetzt Kontrollkästchen markiert Zustand als wahr

$("#ContentPlaceHolder1_GridView1 tr td:nth-child(2)").each(function () {
 for(var i = 0;i<data.d.length;i++){
    if ($(this).text() === data.d[i]) {     
       $(this).siblings().find(':checkbox').prop('checked' , true);
    }
});

Hinweis: Auch haben Sie erhalten doppelte IDs für Eingabeelemente. IDs müssen eindeutig sein. Sie können mehrere Elemente unter Verwendung derselben ID mit ID - Selektoren nicht zielen. Sie können vielmehr gemeinsame Klasse verwenden , mit Klassenauswahl zusammen , sie alle zu zielen.

Beantwortet am 16/10/2017 um 10:05
quelle vom benutzer

stimmen
1

Sie können DOM - Traversal - Methode verwenden , um Ziel :checkbox, dann verwenden Sie .prop(key, value)seine Eigenschaft festlegen

$("#ContentPlaceHolder1_GridView1 tr td:nth-child(2)").each(function () {
    for (var i = 0; i < data.d.length; i++) {
        if ($(this).text() === data.d[i]) {
            $(this).closest('tr') //target common parent i.e. TR
            .find(':checkbox') //Target Checkbox
            .prop('checked', true);
        }
    }
});
Beantwortet am 16/10/2017 um 10:05
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more