JQuery паказаць DIV, калі значэнне поля <п і не пуста

Я спрабую высветліць, як паказаць DIV на аснове ўваходных дадзеных у поле. Я хачу, каб паказаць DIV, калі абодва гэтых ўмовы:

1) the field value is <=30 2) the field is not empty

at the moment i i have figured out the <=30 bit but then the form assumes that empty is 0 and shows the div, but i dont want the div to show if the field is left blank.

Я паспрабаваў гэта, але ён не працуе:

 $("#hidden")[$(this).val() <= "30" and !="" ? 'show' : 'hide']("fast");

Here's what i have so far: http://jsfiddle.net/q5kKz/318/

Дзякуй за любую дапамогу!

0
JQuery 1.4.1? У самай справе?
дададзена аўтар Denys Séguret, крыніца
JQuery 1.4.1? У самай справе?
дададзена аўтар Denys Séguret, крыніца

8 адказы

Выпраўце сінтаксіс:

 var val = this.value;
 $("#hidden")[(val !=='' && val <= 30) ? 'show' : 'hide']("fast");

Demonstration (I fixed a few other problems)

3
дададзена
вар Val = this.value; правільна?! ;)
дададзена аўтар A. Wolff, крыніца
@roasted Чорт ... Я звычайна выправіць гэтыя тыя неадкладна!
дададзена аўтар Denys Séguret, крыніца
Прывітанне dystroy дзякуй вось вялікая дапамога. любы спосаб адкласці паказ другога тэкставага поля, скажам, на 1 секунду, у адваротным выпадку, калі карыстальнік ўводзіць 31, схаванае поле будзе адчыняцца і хутка зноў зачыніць (таму што на дадзены момант гэта выглядае як яны ўвайшлі 3)?
дададзена аўтар Matt S, крыніца

Выпраўце сінтаксіс:

 var val = this.value;
 $("#hidden")[(val !=='' && val <= 30) ? 'show' : 'hide']("fast");

Demonstration (I fixed a few other problems)

3
дададзена
вар Val = this.value; правільна?! ;)
дададзена аўтар A. Wolff, крыніца
@roasted Чорт ... Я звычайна выправіць гэтыя тыя неадкладна!
дададзена аўтар Denys Séguret, крыніца
Прывітанне dystroy дзякуй вось вялікая дапамога. любы спосаб адкласці паказ другога тэкставага поля, скажам, на 1 секунду, у адваротным выпадку, калі карыстальнік ўводзіць 31, схаванае поле будзе адчыняцца і хутка зноў зачыніць (таму што на дадзены момант гэта выглядае як яны ўвайшлі 3)?
дададзена аўтар Matt S, крыніца

Можа быць, праблема ў тым, ТХ 30 ўяўляе сабой радок, так што вам трэба, каб прывесці яго ў цэлае, як гэта

$("#hidden")[parseInt($(this).val()) <= 30 && !="" ? 'show' : 'hide']("fast");

спадзяюся, што гэта будзе працаваць для вас!

0
дададзена
<�Код> і не правільны сінтаксіс для другога argument..it ў &&
дададзена аўтар tymeJV, крыніца

Можа быць, праблема ў тым, ТХ 30 ўяўляе сабой радок, так што вам трэба, каб прывесці яго ў цэлае, як гэта

$("#hidden")[parseInt($(this).val()) <= 30 && !="" ? 'show' : 'hide']("fast");

спадзяюся, што гэта будзе працаваць для вас!

0
дададзена
<�Код> і не правільны сінтаксіс для другога argument..it ў &&
дададзена аўтар tymeJV, крыніца

Demo --> http://jsfiddle.net/q5kKz/322/

use && not and

$('#Severity-of-your-symptoms').change(function() {
  $("#li-10-14")[this.value <= "30" && this.value != '' ? 'show' : 'hide']("fast");
}).change();
0
дададзена

Demo --> http://jsfiddle.net/q5kKz/322/

use && not and

$('#Severity-of-your-symptoms').change(function() {
  $("#li-10-14")[this.value <= "30" && this.value != '' ? 'show' : 'hide']("fast");
}).change();
0
дададзена

Паспрабуйце гэта:

http://jsfiddle.net/q5kKz/323/

гэта «===» мае важнае значэнне ў параўнанні радкоў:

$(this).val() !== "" && $(this).val()*1 <= 30

Вы павінны таксама разгледзець магчымасць выкарыстання іншых падзей, такіх як націск клавішы або JS спрацоўвае толькі тады, калі яно губляе фокус.

0
дададзена

Паспрабуйце гэта:

http://jsfiddle.net/q5kKz/323/

гэта «===» мае важнае значэнне ў параўнанні радкоў:

$(this).val() !== "" && $(this).val()*1 <= 30

Вы павінны таксама разгледзець магчымасць выкарыстання іншых падзей, такіх як націск клавішы або JS спрацоўвае толькі тады, калі яно губляе фокус.

0
дададзена