2011-09-14 10 views
1

私はドロップダウンメニュー(demo here)から複数の項目を選択できるautosuggestプラグインを使用しています。私は、クエリをPHPファイルに送信する(私は後でそのクエリに精通します)、ページを離れることなく結果を返すようにします。この配列をPHPに送ってdivで結果を取得する(FCBKcomplete)

PHPファイルは今、ほとんど空である:

<?php print_r($_REQUEST); ?> 

しかし、私は検索ボックスがdisplaying properly anymoreないので、私はどこかで私のjQueryを使ってミスを犯し知っています。

私が作成したコードは次のとおりです。「データ」フィールドに何を入れるべきかわかりません。

<script type="text/javascript"> 
      $(document).ready(function(){     
       $("#select3").fcbkcomplete({ 
        json_url: "data.txt", 
        addontab: true,     
        maxitems: 10, 
        input_min_size: 0, 
        height: 10, 
        cache: true, 
        newel: false, 
        filter_selected: true, 
        maxitimes: 5, 


        // I did this 
        onselect:"get_venue", 




       }); 


    // I also did this 

    function get_venue() { 
    $("#select3 option:selected").each(function() { 
$.ajax({ 
     type: 'POST', 
     url: 'post.php', 
     dataType: 'json', 
     data: { 
      WHAT DATA GOES HERE? 
     }, 
success : function(data){ 
       $('#phpmessage').removeClass().addClass((data.error === true) ? 'error' : 'success') 
        .text(data.msg).show(500); 
       if (data.error === true) 

      }, 
      error : function(XMLHttpRequest, textStatus, errorThrown) { 
       $('#waiting').hide(500); 
       $('#phpmessage').removeClass().addClass('error') 
        .text('There was an error.').show(500); 
      } 
     });  
    }); 
} 





      }); 
     </script> 

このような長い投稿のみなさん、ありがとうございます!!私は取得していますおかげで:))

エラー:

は関数ではありません:リターンfunc.call(FUNC、_object)。あなたは、検索ボックスの各項目をループにしたい

function funCall(func, item) { 
var _object = {}; 
for (i = 0; i < item.get(0).attributes.length; i++) { 
if (item.get(0).attributes[i].nodeValue != null) { 
_object["_" + item.get(0).attributes[i].nodeName] = item.get(0).attributes[i].nodeValue; 
} 
} 
return func.call(func, _object); 
} 
function checkFocusOn() { 
if (focuson == null || focuson.length == 0) { 
return false; 
} 
return true; 
} 
+0

コンソールにエラーがありますか? –

+0

はい、「何のデータがここにありますか?」私は意図的にそこに置いています。なぜなら、実際にどのデータを送るべきか分からないからです。/ – user944589

答えて

1

、これらは.bit-boxのクラスを持っています。これらの検索用語の配列を作成し、データとしてajaxリクエストに送信します。

function get_venue() { 
var data = []; 
$('.bit-box').each(function() { 
    data.push($(this).text);  
}); 

$.ajax({ 
     type: 'POST', 
     url: 'post.php', 
     dataType: 'json', 
     data: { 
      'choices[]': data 
     }, 
    success : function(data){ 
       $('#phpmessage') 
       .removeClass() 
       .addClass((data.error === true) ? 'error' : 'success') 
       .text(data.msg).show(500); 
      if (data.error === true){ 
      } 
     }, 
     error : function(XMLHttpRequest, textStatus, errorThrown) { 
      $('#waiting').hide(500); 
      $('#phpmessage').removeClass().addClass('error') 
       .text('There was an error.').show(500); 
     } 
});  
} 
+0

うわー!最後の1つは、 "if(data.error === true)"の後に、この "}の構文エラーが発生しているようです" – user944589

+0

編集しましたが、一部の中括弧が欠けていました: -/ –

+0

ありがとうございました!私はこれがあなたの答えに関連していないことを知っていますが、なぜ私はこれについてエラーを受け取っているかも知れません:return func.call(func、_object); – user944589

関連する問題