2

我想做一个简单的检查,检查我的一个表单上的输入字段是否输入了文本,如果它不执行任何操作,它是否确实将进度指示器移向 16。

显然我在这里遗漏了一些简单的东西,但我不应该在这里检查 val 是否大于 1 吗?

这里是咖啡——

jQuery ->
    $("#user_first_name").blur (event) ->
      if $(this).val > 1
        setInterval (->
            front_index_gage.refresh 16
            ), 500
      else

这是我的咖啡语法错误吗?

=======更新=============

在确保第一次现场检查有效之后,这似乎不是最优雅的解决方案,因为这是我要走的路

jQuery ->
    $("#user_first_name").blur (event) ->
      if $(this).val().length > 1
        setInterval (->
            front_index_gage.refresh 16
            ), 500
      else
jQuery ->
    $("#user_last_name").blur (event) ->
      if $(this).val().length > 1
        setInterval (->
            front_index_gage.refresh 33
            ), 500
      else
        setInterval (->
            front_index_gage.refresh 16
            ), 500

使用 6 个表单字段来检查对 js 和咖啡来说相当新的内容,但这是我会使用 switch 条件来检查和刷新进度指示器的情况吗?

再次感谢您的关注

4

3 回答 3

3

.val()对于不想向其传递任何参数的函数,您需要括号。

像这样应该工作。

if $(this).val() > 1

否则.val试图> 1用作参数。

于 2012-12-09T19:28:48.440 回答
2

“已输入文本”表示“值中有一个或多个字符”,即“长度> 0”。您正在比较价值本身。

于 2012-12-09T19:29:03.620 回答
1

.val这是一个函数,所以你应该解决这个问题:

if $(this).val() > 1
于 2012-12-09T19:29:15.863 回答