javascript - Comment cliquer sur une certaine ligne du tableau pour que la valeur d'attribut correspondante dans le tableau apparaisse sur le formulaire?
巴扎黑
巴扎黑 2017-07-05 11:01:39
0
5
1284


Comme le montre l'image ci-dessus, comment puis-je cliquer sur une certaine ligne du tableau, puis la valeur d'attribut correspondante dans le tableau apparaîtra à 2 endroits. .

Quelle partie du formulaire est générée comme ceci

巴扎黑
巴扎黑

répondre à tous(5)
淡淡烟草味

委托

$("#list").click(function (e) {
    e = e || window.event;
    //拿到鼠标点击的节点对象
    var target = e.target || e.srcElement;
    //判断所属哪行tr
    var tr;
    $(this).find('tr').each(function () {
        if (this.contains(target)) {
            tr = this;
            return false;
        }
    });
    //拿到了tr
    if (tr) {
        //这里面就可以取行tr的值项,
        //建议在构html的时候:"<tr data-C_name='你对应的值' data-four='' ... ><td>..</td>...</tr>"
        //取值:$(tr).attr('data-C_name'),$(tr).attr('data-four')
        $(tr)
    }
});

En utilisant 委托, vous n'avez pas besoin de vous demander si les objets à l'intérieur sont chargés de manière asynchrone

学霸

Le tr du formulaire est lié à l'événement click. Lorsque vous cliquez dessus, les valeurs requises par le formulaire sont obtenues et remplies séquentiellement.

为情所困

Vous pouvez demander toutes les données lors de la génération du formulaire, les mettre sur tr via data-*, puis lier l'événement click à tr Lorsque vous cliquez, remplissez les données sur tr à l'endroit correspondant, ce qui peut réduire les demandes. . Nombre de fois (les séquelles d'en faire trop sur le terminal mobile haha).

大家讲道理

Cliquez en boucle pour obtenir les attributs de chaque ligne, puis écrivez les attributs sur la figure 2 et saisissez la valeur correspondante

Ty80
$("table tr").on("click",function () {
    console.log($(this).find("td").eq(0).text());
    console.log($(this).find("td").eq(1).text());
    console.log($(this).find("td").eq(2).text());
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal