powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как передать все свойства объекта в метод?
7 сообщений из 7, страница 1 из 1
Как передать все свойства объекта в метод?
    #39261317
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть такой метод. Здесь data-item='" + book.Id + onclick='EditItem(this) передаю значение book.Id через атрибут data-item.
В методе EdiItem значение вытаскиваю, всё там работает. Но мне нужны ещё и другие свойства объекта book. Как их передать?
Буду признателен за помощь.
Код: c#
1.
2.
3.
4.
5.
6.
7.
function WriteResponse(books) {           
           
            $.each(books, function (index, book) {
                strResult += "<tr><td>" + book.Id + "</td><td>" + book.Name + "</td><td>" + book.Author + "</td><td>" + book.Year +
                    "</td><td><a id='editItem' data-item='" + book.Id + "' onclick='EditItem(this);' > Редактировать </a></td>" +
                    "<td><a id='delItem' data-item='" + book.Id + "' onclick='DeleteItem(this);' > Удалить </a></td></tr>";
            });
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261390
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,
может вызывать через call с указанием контекста
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261519
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А так никак не получится?
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261535
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,
ето лажа, и я бы так делать не стал, но как вариант
можно попробовать, при формировании строки, добавить ещё цикл
для формирования параметров для EditItem

что то типа:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
   var str = "onclick='EditItem(this";
   var keys = Object.keys(book),
      i= 0, len = keys.length, ;
    for (; i < len; i++) {
      //str += book[keys[i]] + ',';   но надо знать порядок
      str += '\''+keys[i] + ':' book[keys[i]]+'\',';
    }
удалить последний символ "," добавить ");" вобщем добить строку
будет что-то типа
onclick='EditItem(this, 'Author:Vasja', 'Year:2000', ...);

доступ внутри через массив arguments (https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Functions/arguments)
arguments[0] - this
в цикле
и arguments[i]split(':') - параметр : значение
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261537
Фёдор К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
erman,
Изменить билдер и вставлять в data-item сериализованный объект book.

И по названию больше подходит. Иначе нужно было назвать data-book-id.
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261539
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ermanЗдесь data-item='" + book.Id + onclick='EditItem(this) передаю значение book.Id через атрибут data-item.
В методе EdiItem значение вытаскиваю, всё там работает. Но мне нужны ещё и другие свойства объекта book. Как их передать?
Как вариант, перевести свойства объекта в формат json и пометить его, как строку в любой data-атрибут...
...
Рейтинг: 0 / 0
Как передать все свойства объекта в метод?
    #39261540
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ermanА так никак не получится?
При вызове со сменой контекста все свойства объекта становятся доступны.
Почитайте про bind, call, apply
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как передать все свойства объекта в метод?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]