AMcoder - javascript, python, java, html, php, sql

Ինչպես ստանալ դինամիկ աղյուսակի բջիջի արժեքը կոճակի սեղմումով

Ես ունեմ աղյուսակ, որը ստեղծվում է դինամիկ կերպով: Նրա շարքում ես կոճակներ եմ տեղադրում:

for (var i = 0; i < resp.length; i++) {    
  tr = tr + "<tr>";    
  tr = tr + "<td >" + resp[i].Date + "</td>";
  tr = tr + "<td >" + resp[i].age + "</td>";
  tr = tr + "<td >" + resp[i].Hour + "</td>";               
  tr = tr + "<td><input value='get me' type='button' class='theButton' id='ma' onclick='test()'></td>";
  tr = tr + "</tr>";
};

="table"

Կոճակի սեղմումով ես կցանկանայի ստանալ տվյալ տողի բջիջի արժեքը: Օրինակ. Եթե ես սեղմում եմ առաջին շարքի տարիքը, ապա այն արժեքը, որը ես պետք է ստանամ, 50 է: Իսկ եթե սեղմեմ երկրորդ շարքի կոճակը, ապա ես պետք է ստանամ 94:

Ինչպե՞ս կարող եմ ստանալ աղյուսակի բջիջի արժեքը կոճակի սեղմումով:

23.07.2017

Պատասխանները:


1

Ահա ձեր լուծումը դինամիկ աղյուսակի համար.

<script language="javascript">
    var tbl = document.getElementById("tblId");
    if (tbl != null) {
        for (var i = 0; i < tbl.rows.length; i++) {
            for (var j = 0; j < tbl.rows[i].cells.length; j++)
                tbl.rows[i].cells[j].onclick = function () { getval(this); };
        }
    }

    function getval(cel) {
        alert(cel.innerHTML);
    }
</script>

Այսպիսով, օգտագործելով այս javascript-ը, դուք կարող եք ստանալ ցանկացած աղյուսակի բջիջի արժեքը:

23.07.2017

2

Դուք կարող եք տարիքը փոխանցել կոճակի սեղմման գործառույթին, ինչպիսին onclick='test('"+resp[i].age +"')'ն է

for (var i = 0; i < resp.length; i++) {

                tr = tr + "<tr>";

                tr = tr + "<td >" + resp[i].Date + "</td>";
                tr = tr + "<td >" + resp[i].age + "</td>";
                tr = tr + "<td >" + resp[i].Hour + "</td>";               
                tr = tr + "<td><input  value='get me' type='button' class='theButton' id='ma' onclick='test("+resp[i].age +")'></td>";

                tr = tr + "</tr>";


            };
23.07.2017
  • ֆունկցիայի test()-ում ինչպես ցույց կտա տվյալները, որոնք ես ստացել եմ կամ alert/console.log-ի տեսքով 23.07.2017
  • ֆունկցիայի թեստ(տարիք){զգուշացում(տարիք)} պետք է ձեզ տարիք տա 23.07.2017
  • @Dinesh, նա տարիք է ուզում, բայց դու որպես վիճաբանություն ժամ ես անցնում։ 23.07.2017
  • @Dinesh Uncaught SyntaxError. անսպասելի նշան } ես ստանում եմ 23.07.2017
  • @Dinesh-ը ստացել է արժեքը որպես -1 կոճակի յուրաքանչյուր սեղմումով 23.07.2017
  • կարո՞ղ եք ձեր հարցին աշխատանքային կոդ ավելացնել: որպեսզի մենք կարողանանք աշխատել դրա վրա: Դժվար է ասել, թե ինչն է սխալ՝ առանց ամբողջական կոդը տեսնելու: 23.07.2017
  • @Dinesh ok, ես շուտով կտեղադրեմ և ենթադրում եմ, որ 11-12-ի աղյուսակի արժեքը ժամային եղանակով ինչպես կարող եմ ցուցադրել այն 23.07.2017
  • @Dinesh Այսպես տալու փոխարեն՝ onclick='test('+resp[i].age +')' ` կա՞ որևէ այլընտրանք javascipt-ում, ես նկատի ունեմ պարզապես onclick=test() որտեղ ֆունկցիան test(){ // այստեղ ստանում է բջջի արժեքը} 23.07.2017

  • 3

    Ահա ձեր լուծումը.

    $(document).find('.theButton').on('click',function(){
        var age = $(this).parents('tr:first').find('td:eq(1)').text();
        console.log(age);
    });
    
    23.07.2017
  • Javascript-ում ես իրականում պահանջեցի, և այստեղ ես կուղարկեմ այդ արժեքը որպես կոճակ սեղմելու պարամետր 23.07.2017
  • Դա Jquery-ն է և այն, ինչ ես պահանջում եմ javascript-ում, քանի որ ես պատրաստվում եմ զանգահարել onclick-ը՝ օգտագործելով test() այդ ֆունկցիայի մեջ, ես ուզում եմ արդյունք տալ որպես ահազանգ կամ գրանցամատյան: 23.07.2017
  • @AppDev, կարող եք հեռացնել կոճակի onClick հատկանիշը և օգտագործել այս jquery ֆունկցիան: Սա մեկ տողային ծածկագիր է: Այսպիսով, օպտիմիզացված մեկը: 23.07.2017
  • ստացել է արժեքը՝ օգտագործելով ձեր կոդը, բայց ինչպես կարող եմ այն ​​ուղարկել որպես ֆունկցիայի փաստարկ, որը պատրաստվում է զանգահարել ajax մեթոդ՝ օգտագործելով այս արժեքը 25.07.2017

  • 4

    Փորձեք այս օրինակը jQuery-ով, ես ձեր ֆունկցիայի թեստը փոխարինել եմ rowid-ով

    https://jsfiddle.net/ucostea/2thyj0ft/

    $(document).on("click", ".theButton", function(){
          alert("Aage: "+$('.age_'+$(this).attr('rownr')+'').text());
    });
    for (var i = 0; i < 10; i++) {
                                  var tr = "";
                    tr = tr + "<tr >";
    
                    tr = tr + "<td class='date_"+i+"'>Date" + i + "</td>";
                    tr = tr + "<td class='age_"+i+"'>Age " + i + "</td>";
                    tr = tr + "<td class='hour_"+i+"'>Hour " + i + "</td>";               
                    tr = tr + "<td><input  value='get me' type='button' class='theButton' id='ma' rownr='" + i + "'></td>";
    
                    tr = tr + "</tr>";
                    $('.table tbody').append(tr);
    
    
                };
    
    23.07.2017
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..