[ patak_daca @ 10.02.2015. 12:31 ] @
Pozdrav!

Imam tabelu koja je dinamički kreirana i sadrži kolonu sa DropDownList i drugu kolonu sa textbox

Kako da upišem neku vrednost u textbox kolonu ako izaberem neki item iz Dropdownlist koji je u istom redu sa textboxom ?

Hvala!

Patak
[ nemnesic @ 10.02.2015. 14:48 ] @
Evo ovako
http://jsfiddle.net/nemnesic/xyg0va2m/
[ patak_daca @ 10.02.2015. 19:32 ] @
Pozdrav!

Hvala puno!

Malo sam doradio i to je to... sada imam drugi problem...

Code:
 $(document).on('change', "[name=roba]", function () {
        var vrednost;

        $.ajax({
            url: "/Home/VratiVrednostRobe",
            type: "POST",
            data: {
                Id_robe: $('#roba :selected').val(),
            },
            success: function (vrednost) {                             
                vrednost = vrednost[0].Vrednost;              
             
                $(this).parent().next().next().next().children('input').val(vrednost);    //   neće da upiše u input
            },
            error: function (data) {
                alert(data);
            }
        });     
    });
[ nemnesic @ 10.02.2015. 19:38 ] @
ne mogu ovako da ti pomognem jer ne znam koja je vrednost "vrednost".

Uradio console.log(vrednost) posle success: function (vrednost) { i vidi sta ima tu.
A i ako to ima vrednost moracu i html da vidim za ovaj next next next...
[ patak_daca @ 10.02.2015. 19:46 ] @
Pozdrav!

Evo ovako:

Kontroler vrati vrednost , proverio sam sa alert(vrednost);

kada stavim izvan Ajax-a $(this).parent().next().next().next().children('input').val('123');

onda ispiše u inputu 123 ali ako je u okviru ajaxa neće.

a kada pokušam da ispišem $(this).parent().next().next().next().children('input').val(vrednost); neće ni u okviru Ajaxa ni van njega..

Molim za pomoć!

Patak
[ nemnesic @ 10.02.2015. 19:58 ] @
1. ne svida mi se se $(this).parent().next().next().next().children('input') imas previse next-a i ako menjas view (stranu) moraces da menjas js

Tako da je najbolje da uradis nesto poput ovoga

Code:

<tr id="UNIQUE_ID_1">
    <td>Ovde nesto</td>
</tr>
<tr id="UNIQUE_ID_2">
    <td>Ovde nesto</td>
</tr>

Znaci svaki ROW da ima svoj ID, i onda preko tog ID-a mozes da reference-ujes input. Znaci ovo dinamicko trazenje parent pa next je veoma otvoreno za greske.
Jel mozes da stavis html source posle generisanja strane? - znaci samo view source da vidim strukutru DOM-a
[ patak_daca @ 10.02.2015. 20:14 ] @
Pozdrav!

Postavio sam da je <tr id='@i'> -- i je iz for petlje,tako da svaki tr ima jedinstven Id...
[ nemnesic @ 10.02.2015. 20:38 ] @
Problem je sto ti ID nije unique. Svaki ID mora da bude jedinstven.
Ti imas vise "ROBA" ID-a. Znaci moras to da zamenis. Poslao sam ti na PM primer koji radi sa jednim redom
[ patak_daca @ 10.02.2015. 20:53 ] @
Pozdrav!

Hvala puno!

[ dusans @ 10.02.2015. 20:58 ] @
A vidi da li radi ovako:
Code:

 $(document).on('change', "[name=roba]", function () {
        var vrednost;
        var self = this;

        $.ajax({
            url: "/Home/VratiVrednostRobe",
            type: "POST",
            data: {
                Id_robe: $('#roba :selected').val(),
            },
            success: function (vrednost) {                             
                vrednost = vrednost[0].Vrednost;              
             
                $(self).parent().next().next().next().children('input').val(vrednost);    //   neće da upiše u input
            },
            error: function (data) {
                alert(data);
            }
        });     
    });


Pseudo promenljiva this zavisi od konteksta poziva funkciji.
Očigledno, this u tvojoj funkciji na početku nije isto što i this u ajax callback-u.
Zato je najbolje this prepisati u posebnu promenljivu koja dalje u clousure-ima uvek
ima istu vrednost.

[Ovu poruku je menjao dusans dana 10.02.2015. u 22:10 GMT+1]
[ patak_daca @ 11.02.2015. 10:30 ] @
To je to...

Uz male dorade...

Code:
$(document).on('change', "[name=roba]", function () {
        var vrednost;
        var self = this;

       var id_robe = this.value;

        $.ajax({
            url: "/Home/VratiVrednostRobe",
            type: "POST",
            data: {
                Id_robe: id_robe ,
            },
            success: function (vrednost) {                             
                vrednost = vrednost[0].Vrednost;              
             
                $(self).parent().next().next().next().children('input').val(vrednost);   
            },
            error: function (data) {
                alert(data);
            }
        });     
    });


Hvala puno na pomoći!!
[ dusans @ 11.02.2015. 10:42 ] @
Ne bi bilo loše da pročitaš ove tekstove:
http://javascriptissexy.com/16...t-concepts-you-must-know-well/

Posebno obrati pažnju na ova 3, čine život mnogo lakšim:
http://javascriptissexy.com/un...is-with-clarity-and-master-it/
http://javascriptissexy.com/ja...-scope-and-hoisting-explained/
http://javascriptissexy.com/un...javascript-closures-with-ease/
[ patak_daca @ 11.02.2015. 10:49 ] @
Pozdrav!

Hvala!