Programim dhe zhvillim, javascript, python, php, html

Dy funksione nuk funksionojnë së bashku, por nuk ka gabime

Unë kam disa funksione javascript të cilat:

  • shfaq/fsheh disa rreshta tabele
  • shtoni një rresht të ri

Të dy punojnë në të njëjtën faqe, por jo në rrethana specifike.

Këtu është fylli i kodit më poshtë:

/*************** show/hide sections ***************/
$('.arrow').click(function(event) {
    var sec_id = $(this).attr('id').split('.')[0];  // admin.link -> admin

    if ($(this).closest('td').attr('class') == 'subtitle')
        $('.s_'+sec_id).toggle();                   // toggle hide/show for 1 item (section)
    else
        $(this).closest('tr').nextUntil('tr:not(.s_' + sec_id+')').toggle();

});

/*************** Add rows ***************/
$('.add_row').click(function(event) {
    var sid = $(this).attr('sid');                  // the id of the <tbody>
    var tbody = document.getElementById(sid);   // the <tbody> to add rows to

    // === GENERATE NEW NAMES for inputs
    // get the name of the first input in the last row
    var rows = tbody.rows;
    var rowinput = rows[rows.length-1].getElementsByTagName('INPUT');
    // split name into array
    var name_piece = rowinput[0].name.split('][');
    // create name for next row; check if last row is a blank row
    var reg = new RegExp('^[0-9]+$');
    if (reg.test(name_piece[1]))    // if integer
        var iteration = parseInt(name_piece[1], 10) + 1;    // convert to int with base 10
    else
        iteration = 1;
    if (iteration < 10)
        iteration = '0'+iteration;                  // add left padding to ensure sort order
    var front = 'items['+sid.substring(2)+']['+iteration+']';   // front of input name (remove the 's_' from name)
    // END GENERATE NEW NAMES for inputs

    // === CREATE ROW
    var row = document.createElement('tr');         // create a row
    var td1 = document.createElement('td');         // create first cell
    td1.setAttribute('colSpan', 2);
    td1.innerHTML = '<input type="text" name="'+front+'[desc]" maxlength="100" />';
    var td2 = document.createElement('td');         // create second cell
    td2.innerHTML = '<input type="text" name="'+front+'[price]" maxlength="9" onChange="calc_ttl()" class="right small" />';
    var td3 = document.createElement('td');         // create third cell
    td3.setAttribute('colSpan', 3);
    // END CREATE ROW

    // output
    row.appendChild(td1);
    row.appendChild(td2);
    row.appendChild(td3);
    tbody.appendChild(row);
});

Në violinë, do të shihni 3 lidhje, të cilat të gjitha funksionojnë ashtu siç duhet. Përjashtimi i vetëm është nëse shtoj një rresht ndërkohë që shfaqen rreshtat e fshehur; p.sh.:

  1. Kliko "Nënseksion" për të shfaqur rreshtat
  2. Kliko "Shto rresht"
  3. Kliko "Nënseksion" për të fshehur rreshtat ‹-- Dështon këtu

Që atëherë, lidhja "Nënseksioni" nuk funksionon më nëse nuk e rifreskoj faqen. Kodi kontrollohet dhe Firebug nuk raporton asnjë gabim, kështu që unë jam në humbje. Çdo këshillë e vlerësuar shumë.

11.07.2013

  • Ky është një hale kodi shumë i madh. Unë rekomandoj ta shkurtoni atë në pjesën më të nevojshme në mënyrë që të merrni më shumë dhe përgjigje më të mira 11.07.2013
  • Pse nuk shtoni Jquery në etiketat tuaja të pyetjeve 11.07.2013

Përgjigjet:


1

Problemi nuk është në kodin jQuery që keni postuar këtu. Është në HTML. Në violinën tuaj keni:

<tr onMouseOver="this.className='highlight'" onMouseOut="this.className='normal'" class="s_grp_2d_ttl_asset" style="display: none;">

Pasi rreshti të jetë i dukshëm, sapo miu lëviz mbi të, klasa s_grp_2d_ttl_asset zëvendësohet nga klasa highlight, e cila bën që ngjarja juaj e klikimit të ndalet në elementin e parë. Nëse keni përdorur funksionet addClass, removeClass ose toggleClass në vend të tyre, mund ta bëni ndryshimin pa e hequr plotësisht klasën origjinale.

11.07.2013
  • Faleminderit shumë, kjo po më çmendi! Edhe pse pyes veten pse ky problem nuk u shfaq në momentin që qëndrova pezull mbi ndonjë nga rreshtat e fshehur. 11.07.2013
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..