为什么Toggled值总是返回OFF

时间:2009-07-29 02:57:12

标签: javascript dhtml

我希望通过切换来获得值ON或OFF。
默认值和视图为OFF 但该代码总是返回OFF。

<div id='toggl1'>
        <fieldset>
          <form id='search' method='post'>
            <input id='search_withbydate' name='search_withbydate' type='hidden' value='OFF'>
              <div class='row'>
                <label>by date</label>
                <div class='toggle' id='search_withbydate' onclick="$('search_withbydate').value = ($('search_withbydate').value == 'OFF' ?) 'OFF' : 'ON';">
                  <span class='thumb'></span>
                  <span class='toggleOn'>ON</span>
                  <span class='toggleOff'>OFF</span>
                </div>
              </div>
            </input>
            <input type='submit' value='search' />
          </form>
        </fieldset>
      </div>

我不太了解javascript,我在下面的章节中提到
5.10。杂项经营者
5.10.1。条件运算符(?:)

JavaScript:The Definitive Guide,第5版
作者:David Flanagan 出版社:O'Reilly

谢谢。
tknv /

2 个答案:

答案 0 :(得分:1)

这行代码无效:

$('search_withbydate').value = ($('search_withbydate').value == 'OFF' ?) 'OFF' : 'ON';

这就是:

如果输入ID search_withbydate的值为“OFF”,则将输入ID search_withbydate的值设置为“OFF”,否则将输入ID search_withbydate的值设置为“ON”

尝试:

$('search_withbydate').value = ($('search_withbydate').value == 'OFF') ? 'ON' : 'OFF';

其中说:

如果输入ID search_withbydate的值为“OFF”,则将输入ID search_withbydate的值设置为“ON”,否则将输入ID search_withbydate的值设置为“OFF”

答案 1 :(得分:0)

为什么用iPhone和UIWebView标记这个问题?这是一个javascript /动态HTML问题。

接下来,你的实际问题是什么?我发布这篇文章时期望有人可以帮助你,这让我感到非常惊讶。你不仅不太了解Javascript,而且看起来你也不太了解英语。 ; - )

从我所看到的,你的onclick代码中有一个错误的括号。

改变这个:

($('search_withbydate').value == 'OFF' ? 'OFF' : 'ON';)

到此

($('search_withbydate').value == 'OFF') ? 'OFF' : 'ON';

你看到了区别吗?但是因为你的名为'search_withbydate'的输入属于'hidden'类型,所以当你点击div时你实际上看不到更改,除非你使用一个javascript调试器,比如Firebug(它是一个Firefox插件)。

这是我能做的最好的事情。我建议你尝试重新构思你的想法并用实际问题更新你的帖子。