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

Jquery-ն անցնում և պահում է դինամիկ փոփոխական իրադարձության ձգանման վրա

Ես մուտքագրման տեքստային տուփի կողքին վանդակ ունեմ: Եթե ​​վանդակը նշված է, տեքստային տուփը դատարկվում և անջատվում է: Այնուամենայնիվ, ես կցանկանայի նախկինում արժեքը պահել այդ տեքստային վանդակում, որպեսզի այն կվերադառնա տեքստային տուփ, եթե օգտագործողը որոշի հանել վանդակը: Ահա իմ կոդը.

function disablePath() {
    var currentPath;
    $('#user_strategy').on('change','input[value="all"]', function(){
        var that = $(this);
        if($(this).is(':checked')) {
            currentPath = that.next().val();
            that.next().attr("disabled", "disabled").val('');
        }
        else {
            that.next().removeAttr("disabled").val(currentPath);
        }
    });
}

Այնպես որ, դա լավ է աշխատում, եթե ես ունեմ միայն մեկ վանդակ, որին հաջորդում է տեքստային վանդակը: Ես դժվարության եմ հանդիպում, եթե ունեմ մեկից ավելի վանդակ-տեքստային տուփ համակցություններ, ինչը ես անում եմ: Եթե ​​ես նշում եմ մեկից ավելի վանդակ, պահվում է միայն վերջին տեքստային վանդակի բովանդակությունը, այնպես որ, եթե հանեմ նախկինում նշված վանդակներից որևէ մեկը, ապա համապատասխան տեքստային վանդակը լրացնելու է վերջին տեքստային տուփի արժեքով, որի հետ կապված վանդակը նշված է, անկախ հարաբերություններից: Կա՞ միջոց նախորդ վանդակի համար հատուկ տեքստային տուփի արժեքը պահելու համար: Ահա կենդանի կոդը.

http://kaboukie.net/stackoverflow/

Կարծում եմ, որ պետք է օգտագործեմ eventData-ն, բայց չգիտեմ, թե ինչպես, ցանկացած օգնություն մեծապես կգնահատվի:


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


1

Ես խորհուրդ կտայի տվյալներ կցել տարրին, ինչը կարելի է անել Jquery-ի .data() մեթոդի միջոցով:

Ահա այն կոդը, որը ես արդեն փորձարկել եմ ճիշտ աշխատելու համար ;)

$(function() {
    function disablePath() {
        var currentPath;
        $('#user_strategy').on('change','input[value="all"]', function(){
            var that = $(this);
            if($(this).is(':checked')) {
                temp= that.next().val();
                that.data("currentPath" , temp);
                that.next().attr("disabled", "disabled").val('');
            }
            else {
                that.next().removeAttr("disabled").val(that.data("currentPath"));
            }
        });
    }
    disablePath();
}); 
24.07.2012

2

Ի՞նչ կասեք տվյալները որպես հատկանիշ վանդակում պահելու մասին:

$(function() {
    function disablePath() {
        var currentPath;
        $('#user_strategy').on('change','input[value="all"]', function(){
            var that = $(this);
            if($(this).is(':checked')) {
                $(this).attr("x:savedData", that.next().val());
                that.next().attr("disabled", "disabled").val('');
            }
            else {
               that.next().removeAttr("disabled").val($(this).attr("x:savedData"));
            }
        });
    }
    disablePath();
});

http://jsfiddle.net/ruwJT/

Գուցե լավագույն պրակտիկան չէ, բայց այն աշխատում է:

24.07.2012

3

Խնդիրն այն է, որ երբ դուք սահմանում եք currentPath-ը, այն չի հիշում, թե որ տարրն է պատասխանատու:

Սա շրջանցելու համար դուք կարող եք յուրաքանչյուր վանդակին հատկացնել ID-ի եզակի հատկանիշ և պահել այդ ID-ն որպես բանալի՝ տեքստային տուփի արժեքի հետ միասին բանալին-արժեք-զույգ:

Որպես այլընտրանք, կարող եք օգտագործել jQuery-ի .data() մեթոդը ցանկացած տարրի վրա աբրիտրացիոն տվյալներ պահելու համար: Տես http://jsfiddle.net/EP5bg/

24.07.2012
Նոր նյութեր

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

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

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

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

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

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

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