2017-11-12 4 views
0

笑いませんが、20分ほど見ていますが、閉じ括弧がどこにないのかわかりません。Jquery関数のかっこが抜けています

$("#search-field").keyup(function() { 
 
    var keyword = $(this).attr("value"); 
 
    $("#search-field").load(
 
    $.post('endpoint/dummy.php', { 
 
     search: keyword 
 
    }, function(result) { 
 
     var data = result; 
 
     $.each(data, function(i, l) { 
 
     $('#tags').append(
 
      '<span value="' + l + '" class="tag-word">' + l + '</span> ' 
 
     ); 
 
     }); 
 
    }); 
 
); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

ヘルプをいただければ幸いです!

+0

括弧がありません。あなたはどんなエラーを出していますか? –

+0

Uncaught SyntaxError:missing)引数リスト –

答えて

1

問題は$("#search-field").load(機能を必要とする)を呼び出すことです。

$("#search-field").keyup(function(){ 
    var keyword = $(this).attr("value"); 
    $("#search-field").load(
     $.post('endpoint/dummy.php', {search: keyword}, function(result){ 
      var data = result; 
      $.each(data, function(i, l){ 
       $('#tags').append(
        '<span value="' + l + '" class="tag-word">' + l + '</span> ' 
       ); 
      }); 
     }); // <-- The semicolon is not expected because this is going as a parameter to `.load()` 
    ); 
}); 

匿名関数を​​に渡すことで問題を解決できます。次のようなもの:

$("#search-field").keyup(function(){ 
    var keyword = $(this).attr("value"); 
    $("#search-field").load(
     function() { 
      $.post('endpoint/dummy.php', {search: keyword}, function(result){ 
       var data = result; 
       $.each(data, function(i, l){ 
        $('#tags').append(
         '<span value="' + l + '" class="tag-word">' + l + '</span> ' 
        ); 
       }); 
      }); 
     } 
    ); 
}); 
+0

の後におそらく私は間違っていますが、ロードはURLを期待し、 'object'として提供されるデータに応じて' POST'と 'GET'リクエストを実行することができます。 'string'なので、' $ .load() '関数の中で余分な' $。post 'リクエストを実行する必要はありません –

+0

@MuhammadOmerAslam私はこれを参照しています:http://api.jquery.com/load-event/ – Nisarg

+0

ああちょうどそれに気づいた:)参照のおかげで –

関連する問題