Проверка переменной на пустоту
Всем привет.
Я получаю из опеределённого поля число, вот так: var priceforcart = $("#summ_order").html(); При первом обращении к полю #summ_order - там ничего нет, пустая строка(т.е. получается просто <div id="summ_order"></div>), далее это поле наполняется - <div id="summ_order">VALUE</div>. Мне нужно использоваться эту переменную в условном операторе. Как проверить переменную priceforcart на то что там ничего нет? ) Делал вот так: if (isNaN(priceforcart)){ ... }но почему-то не получается. |
if ( priceforcart === "") { // пустая епрс. =))) } |
так не?
priceforcart == "" |
если ты переменную инициализировал через var ,но не присвоил ей значение-она будет undefenit
alert(b); alert(typeof(b)); var b; var a; b=a; alert(b); if(typeof(b)=="undefined") alert("пусто"); или я неправильно понял задачу |
dmitriymar, :-? undefined
|
devote,
попутал темы в первом сообщении |
Не получается. Наверно не до конца все объяснил.
var priceforcart = $("#summ_order").html(); priceforcart = parseInt(priceforcart); priceforcart = priceforcart+price; $("#summ_order").text(priceforcart); Переменная price - всегда целое число. Так вот когда мы первый раз обращаемся к #summ_order(между дивами ничего нет) - при выполнении $("#summ_order").text(priceforcart); в соответствующем поле(div id="summ_order">) пишется NaN. |
Цитата:
при выполнении этой операции priceforcart = parseInt(priceforcart); ты получишь NaN поскольку нельзя привести пустую строку к числу. а NaN+число тоже будет NaN; если ты пременной присваиваешь строковое значение пусть даже и пустое-переменная приобретёт строковой тип. var b=""; alert(typeof(b)); alert(parseInt(b)); |
DorianLeroy,
Вариант ... priceforcart = parseInt(priceforcart)||0; |
var priceforcart = $("#summ_order").html(); priceforcart = ( parseInt( priceforcart ).toString() === "NaN" ) ? 0 : parseInt( priceforcart ); priceforcart = priceforcart+price; $("#summ_order").text(priceforcart); |
Часовой пояс GMT +3, время: 19:10. |