Autor | Zpráva | ||
---|---|---|---|
krejcimara Profil |
Zdravím všechny,
jsem začátečník v Jquery, mám 7 checkboxů a vedle nich 7 inputů, chtěl bych je při načtení stránek otestovat, které jsou checked a které ne a na základě toho chci přidružené inputy nechat disabled nebo enabled. Trápím se stím dva dny a nevím jak nato. Věřím, že to je prkotina, prosím o radu. A pak při kliknutí na checkboxy se zase přidružený input nastavit na enabled nebo disabled. Jedná se o formulář. $("input.cisla").attr("disabled",true); // při document ready nastavím všem inputům atribut disabled - true // tady bych chtěl otestovat checkboxy a přiřadit inputům atribut a podle toho val() na 1 nebo nic. // inputy a checkboxy mám svázané třídou 'pití + $i' $("div.sloupek input:checkbox").click(function(){ if (this.checked == true) { $("." + $(this).attr("class")).prop("disabled",false).val(1); } else $("." + $(this).attr("class")).prop("disabled",true); }); Moc děkuji za tipy, nemusíte tu psát přímo hotový algoritmus, stačí poradit jak nato:) |
||
smitka Profil |
#2 · Zasláno: 16. 1. 2015, 09:30:27
Bez html kódu se dost špatně odhaduje, co mělo dělat to "." + $(this).attr("class"). Zde bych tušil problém, že to vybere i samotný checkbox a tím ho disabluje (klik sice funguje, ale checked se nezmění). Každopádně, pokud jsou checkboxy a inputy "vedle" sebe, tak bych na to šel nějak takto:
http://jsfiddle.net/rs862zqx/ Nebo univerzálněji s pojmenovanými třídami: http://jsfiddle.net/6a42zz1j/ |
||
krejcimara Profil |
#3 · Zasláno: 16. 1. 2015, 09:33:42 · Upravil/a: krejcimara
smitka:
Zde je jeden ze sedmy bloků <div class="radek"> <div class="sloupek"> <span class="checkboxcisla"><input type="checkbox" class="piti2" id="piti2" name="piti[]" value="2" checked> <label for="piti2">Semtex - 0,25l plech</label></span> </div> <div class="sloupek">33,-</div> <div class="sloupek">kusů</div> <div class="sloupek"><input type="number" min="1" max="20" name="pocet[]" class="cisla piti2" value="1"></div> </div> smitka: Ten druhý kód se mi zamlouvá, a máš pravdu vypne to i ten checkbox :) smitka: Trochu jsem poupravil tvůj kód a nefakčí to :( $("span.checkboxcisla input:checkbox").click(function(){ if (this.checked == true) { $(".piti"+this.value).prop("disabled",false).val(1); } else $(".piti"+this.value).prop("disabled",true); }); smitka: Funguje první checkbox, čtvrtý, šestý a sedmý, ostatní nee, to nechápu :D |
||
Časová prodleva: 10 let
|
0