0

別の関数を作成することもできますが、これは 1 行で実行できるため、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() に設定しようとしています。

現時点では、anon 関数がなくても実行できると思いますが、それには複数レベルの $ が必要であり、私の類人猿の脳がそれを受け入れることができるかどうかはわかりません。

4

4 に答える 4

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 に答える
1

OK、Mohammad さん、ありがとう。

$('#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 に答える
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 に答える