Autor Zpráva
Cpk
Profil
zdravím,

Potreboval by som pomôcť,
chcem do objektovej premennej dynamicky prideľovať hodnoty.

Príklad, robím si in-line editing, a chcem aby sa z inputov priradil text a ulozil
ho do objektovej premennej data, pričom aby data."nazov_inputu" =
hodnota;
moje (vid. kod) riešenie nefunguje. Je to vôbec možne? Prípadne nejaké iné riešenie?

var text, data = {};

$.each($("#i" + id + " td.ei"), function(key, value) {
text = $(this).children('input').val();
value = $(this).children('input').attr("name");
data.value = text;
console.log(data.value );
$(this).text(text);
});



ďakujem.
Kajman_
Profil *
data[value] = text;
Cpk
Profil
Kajman:
len ja potrebujem, aby to bol jquery objekt a poslať ho do metódy $.ajax()
Tori
Profil
Cpk:
tou druhou metodou each to nešlo?
var text, data = {};

$("#i" + id + " td.ei").each(function() {
text = $(this).children('input').val();
value = $(this).children('input').attr("name");
data.value = text;
console.log(data.value );
$(this).text(text);
});


len ja potrebujem, aby to bol jquery objekt
data na odeslání ajaxem jsou v obyčejném objektu http://api.jquery.com/jQuery.ajax/#sending-data-to-server
Cpk
Profil
Zle som to pomenoval, sú v obyčajnom objekte. Ale ja len potrebujem aby som mohol dynamicky priraďovať atribúty toho js objektu.

data.name_of_input = value_of_input

NEFUNGUJE: $.data(data, name, text); // name is variable with name of input, text is var. with value
FUNGUJE: $.data(data, "nazov", text);


Ďakujem za rady.

Clea js funkcia
function inputsToText(id, table_name){
        var text, name, data = {};
       
        $.each($("#i" + id + " td.ei"), function(key, value) {
            text = $(this).children('input').val();
            name = $(this).children('input').attr("name");
            $.data(data, name, text); //  nefunguje

            $(this).text(text);
        });
        $.each($("#i" + id + " td.ei2"), function(key, value) {
            text = $(this).children('textarea').val();
            name = $(this).children('textarea').attr("name");
            $.data(data, name, text); //  nefunguje
            $(this).text(text);
        });
        $.data(data, 'table', table_name);  //  funguje
        $.data(data, 'id', id); //  funguje
        $.data(data, 'act', "iedit"); //  funguje
        
        ajaxRequest(data);
        $("#i" + id + " td.edit").html('<a href="#"  onClick="edit(' +id+')" >Upraviť</a>');
        return false;
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0