Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2015, 07:48
Интересующийся
Отправить личное сообщение для kolhoznik Посмотреть профиль Найти все сообщения от kolhoznik
 
Регистрация: 07.05.2012
Сообщений: 13

Замена значения ячейки таблицы
Здравствуйте!
Подскажите пожалуйста.
У меня есть таблица товаров. Один из столбцов 'цена' - выводит цену товара. Так как цена в базе данных хранится как цифра, то при не указании цены в форме по умолчанию заполняется '0' и соответственно выводится.
Вопрос как осуществить замену значений таблицы с 0 на 'не указана'.
Значение в ячейке выводится в div class='cena' id нет. Необходимо получать значения по классу.
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2015, 07:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kolhoznik
при не указании цены в форме по умолчанию заполняется '0' и соответственно выводится.
А может все-таки NULL? Да и цена товара, это обязательное значение, то есть ее не может быть в форме только при добавлении товара.
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2015, 07:53
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Лучше не писать русские слова латиницей, это плохой тон.

<div class='cena'>
   0
</div> 
<div class='cena'>
   10
</div> 

<script>
Array.prototype.forEach.call(document.querySelectorAll('.cena'), function (price) {
   if (price.innerHTML.trim() == '0') {
       price.innerHTML = 'Цена не указана';
   }
});
</script>

Последний раз редактировалось tsigel, 09.09.2015 в 07:58.
Ответить с цитированием
  #4 (permalink)  
Старый 09.09.2015, 08:10
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

kolhoznik,
Вообще эту задачу должен решать тот кто формирует страницу, я так понял что у вас это сервер.
Ответить с цитированием
  #5 (permalink)  
Старый 09.09.2015, 08:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от tsigel
Вообще эту задачу должен решать тот кто формирует страницу
Вообще-то на сервере не должно быть ситуации, при которой цена товара нулевая. Вы себе такой товар представляете?

Тем более, если речь о форме, да еще ее значением указать 'Цена не указана', ну так это же полный швах.
Ответить с цитированием
  #6 (permalink)  
Старый 09.09.2015, 08:20
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

laimas,
Ну ноль там быть не должен, согласен.
Ответить с цитированием
  #7 (permalink)  
Старый 09.09.2015, 08:43
Интересующийся
Отправить личное сообщение для kolhoznik Посмотреть профиль Найти все сообщения от kolhoznik
 
Регистрация: 07.05.2012
Сообщений: 13

Да к сожалению компонент который использую пишет 0 если пустое значение отсылают при типа ячейки int в базе данный.
А значение цена заполняют пользователи в каталоге и не всегда, поскольку некоторые товары цену пока не имеют. Приходится как то думать об избавлении от нуля в выводе товаров.
Ответить с цитированием
  #8 (permalink)  
Старый 09.09.2015, 08:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Значит нужно к этой задаче подходить иначе.
Если товар добавляется, это означает, что его идентификатор не определен и пользователю отдается форма с пустыми значениями. По этому же признаку легко определить, что поле цены в форме необязательное для заполнения.

Как только товар добавлен, он получает идентификатор, в этом случае вызывается эта же самая форма но с заполненными значениями, а поле цены становиться обязательным для заполнения, то есть это уже редактирование товара.

Вот только пихать 'Цена не указана' в value поля не стоит, более полезно в placeholder указать допустимый ввод, например максимальная длина значения, а в pattern первая цифра обязательно не 0, а за ней остальные от максимальной длины. А поле value должно быть пустым.
Ответить с цитированием
  #9 (permalink)  
Старый 09.09.2015, 09:13
Интересующийся
Отправить личное сообщение для kolhoznik Посмотреть профиль Найти все сообщения от kolhoznik
 
Регистрация: 07.05.2012
Сообщений: 13

Мне не надо чтобы обязательно была указана цена. Это я легко могу сделать и так.
Нужно просто хотя бы скрыть нули или заменить на произвольный текст.
Тем более кроме цифр в базу ничего не пихнешь так как тип строки int. Менять на text или varhar нельзя так как сортировка не будет работать.
Нужно что то городить на innerthtml
Ответить с цитированием
  #10 (permalink)  
Старый 09.09.2015, 09:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kolhoznik
Менять на text или varhar нельзя
А я вам это предлагал?

Странная у вас база. Если значение может быть не определено, то в базе должно быть NULL у не определенных значений, и соответственно при выводе формы значение поля будет пустым. Зачем пустому значению указывать, что оно не задано, да еще как value?

Или если у вас такие навороты, то value=<?=$var ?: null?>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать номер ряда у ячейки таблицы grego Events/DOM/Window 2 27.08.2013 20:07
Как сделать размер ячейки в таблице не больше определённого значения? javascript_pupil (X)HTML/CSS 16 18.02.2012 12:52
onmouseout для ячейки таблицы. Sir_Hally Events/DOM/Window 2 24.01.2012 17:21
OnClick ячейки таблицы и ссылки в этой ячейке MasDen Javascript под браузер 2 30.06.2011 10:34
Как получить содержимое ячейки таблицы Enxiro jQuery 5 29.05.2011 16:36