Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.01.2018, 22:31
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

Не находится существующий элемент
Доброго всем времени!!! Сегодня столкнулся с непонятной проблемой... Предистория для понимания: на страницу по клику добавляются некоторые элементы для редактирования данных. По клику на кнопку эти данные должны собираться и отправляться на сервер для сохранения, но тут неожиданно возникла проблема, которой я в упор не могу найти решения...

суть такая:
элемент - input
console.log($('.name').is('#' + vencode)); - возвращает true, а
console.log($('.name#' + vencode).val()); - возвращает undefined

более того, другой элемент с подобным обращением возвращает своё значение.. все классы и id уже 10 раз перечитал...

кто может помочь отзовитесь. заранее спасибо!!

Последний раз редактировалось CrazyDev, 31.01.2018 в 22:35.
Ответить с цитированием
  #2 (permalink)  
Старый 31.01.2018, 23:24
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

а можно увидеть скрипт?
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2018, 23:44
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

это первый этап скрипта. определение данных.. далее будет ajax.

выглядит так:

var data = {
vencode: $('.vencode#' + vencode).val(),
name: $('.name#' + vencode).val()
};

в итоге на сервер уходит data = {
vencode: 'значение',
name: undefined
};

оба dom элемента определяются как существующие, но второй возвращает несуществующее значение... хотя там в худшем случае должна быть пустая строка... оба элемента это input
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2018, 00:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

CrazyDev,
а нельзя id убрать или сделать разным?
Ответить с цитированием
  #5 (permalink)  
Старый 01.02.2018, 00:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от CrazyDev
оба dom элемента определяются как существующие
как вы это оределили?
Ответить с цитированием
  #6 (permalink)  
Старый 01.02.2018, 00:12
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

Сообщение от рони Посмотреть сообщение
CrazyDev,
а нельзя id убрать или сделать разным?
id убрать нельзя т.к. на странице отображены несколько уникальных товаров и id важен.

они и так разные. вложены в переменную vencode из обращения должно быть видно..

Последний раз редактировалось CrazyDev, 01.02.2018 в 00:15.
Ответить с цитированием
  #7 (permalink)  
Старый 01.02.2018, 00:13
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

Сообщение от рони Посмотреть сообщение
как вы это оределили?
на метод .is() оба возвращают true
Ответить с цитированием
  #8 (permalink)  
Старый 01.02.2018, 00:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

CrazyDev,
Сообщение от CrazyDev
они и так разные. вложены в переменную vencode из обращения должно быть видно..
Сообщение от CrazyDev
var data = {
vencode: $('.vencode#' + vencode).val(),
name: $('.name#' + vencode).val()
};
не могу это совместить
Ответить с цитированием
  #9 (permalink)  
Старый 01.02.2018, 00:41
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

Сообщение от рони Посмотреть сообщение
CrazyDev,


не могу это совместить
действительно сам затупил..
Ответить с цитированием
  #10 (permalink)  
Старый 01.02.2018, 00:47
Новичок на форуме
Отправить личное сообщение для CrazyDev Посмотреть профиль Найти все сообщения от CrazyDev
 
Регистрация: 31.01.2018
Сообщений: 7

благодаря отзывчивости форума было найдено решение проблемы!! в данном коде была беда в том, что на странице и правда было несколько элементов с одинаковыми id, что и ломало весь скрипт...

благодаря советам старших было установлено, что в подобных случаях лучше использовать атрибуты data. если брать конкретный пример, то обратиться к нему можно так: $('.name[data-id="значение"').val();

спасибо за помощь j0hnik!!!))))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли узнать какой элемент находится под данным? nbq Javascript под браузер 2 14.03.2015 20:58
удаление строки, в которой находится элемент shadye jQuery 4 09.06.2014 19:15
Как узнать в какой области видимости находится элемент? Shitbox2 Angular.js 2 07.06.2014 13:36
Не находится элемент top jQuery 4 20.01.2012 23:50
Как узнать находится ли DOM элемент в области видимости? phgrey Общие вопросы Javascript 4 22.03.2011 19:05