0

我可以创建一个单独的函数,但这可以在一行中完成,所以 anon 函数对我来说似乎是正确的。到目前为止,这是我所拥有的,它返回了一个语法错误。

$('#submitAll').validate({
    rules: {
      preferred: {
        required: true,
        validPreferred: $('#preferred').val(),
        remote: {
          type: "post",
          url: "./postlocation.php",
          contentType: "application/json; charset=utf-8",
          async: false,
          data: {
            phone: {
              //Write me, function getPreferred(preferred.val)
              'number': {function(idPhone){return idPhone.val();}: $('#preferred')},
              'sid': Math.random()
            }
          }
        } 
      }
    }

不要被关闭的波浪线挂断。我正在尝试将数据中的“数字”字段设置为 $('#preferred').val()。

现在,我认为甚至可以不使用匿名函数,但这需要多个级别的 $,而且我不确定我的猿脑是否可以接受。

4

4 回答 4

1

Ok, thanks Mohammad, here it is: Again, I had to bury the damn $'s but oh well, I like this solution.

$('#submitAll').validate({
    rules: {
      preferred: {
        required: true,
        //write me, function(preferredValue){return true || false}
        validPreferred: $('#preferred').val(),
        remote: {
          type: "post",
          url: "./postlocation.php",
          contentType: "application/json; charset=utf-8",
          data: {
            phone: {
              //Write me, function getPreferred(preferred.val)
              'number': (function(idPhone) {
                          return $('#'+idPhone).val();
                        })($('#preferred').val()),
              'sid': Math.random()
            }
          }
        } 
      }
    }
于 2012-09-08T05:35:45.403 回答
1

这是正确的!'number' 属性后使用的 JSON 表达式有语法错误。谁说“函数”在“{”之后?!这是完全错误的。另外请使用嵌套编码样式,这是为了您的利益,而不是其他任何人。尝试这个:

$('#submitAll')
.validate(
    {
        rules: {
            preferred: {
                required: true,
                validPreferred: $('#preferred').val(),
                remote: {
                    type: "post",
                    url: "./postlocation.php",
                    contentType: "application/json; charset=utf-8",
                    async: false,
                    data: {
                        phone: {
                            //Write me, function getPreferred(preferred.val)
                            'number': (
                                function(idPhone)
                                {
                                    return (idPhone.val()) ? idPhone.val() : $('#preferred').val();
                                }
                            )($("WHERE IS THE idPhone variable?!")),
                            'sid': Math.random()
                        }
                    }
                } 
            }
        }
    }
);
于 2012-09-08T04:37:28.333 回答
0

编辑:现在我终于明白你想要做什么,我的建议是:

'number': $('#' + $('#preferred').val()).val()
于 2012-09-08T04:32:29.967 回答
0

jslint

http://www.jslint.com/

把它当作你最好的朋友

jsl -process myfile.js 

^ 会发现你的语法错误

于 2012-09-08T04:34:20.270 回答