0

jQuery オートコンプリートで結果が見つからない場合、送信を無効にしたいと考えています。私は今半分働いていません、私は私の結果をうまく数えています。

唯一の問題は、結果があり、送信すると、結果が 0 に戻って送信できないことです。送信時のオートコンプリートカウント値を覚えておきたい。

私は自分の結果を数えます:

$('#stock_input').autocomplete({

        source:'autocomplete.php',
        autoFocus: true,
        minLength:1,
    open: function(event,ui){
            count = $(this).autocomplete("widget").find( "li" ).length;
            $('#count').text(count);
    },
    close: function(event,ui){
            count = 0;
            $('#count').text(count);
    }
});

Allowsubmit 設定:

    var allowSubmit = true;
        $("#updatestock_form").submit(function(e){
            if(count === 0){ allowSubmit = false; alert(count); } 
            else { allowSubmit = true; alert(count); }
            if (!allowSubmit) return false;

        //rest of submit code
        });
4

2 に答える 2

1

あなたのコードの問題:

close: function(event,ui){
            count = 0;
            $('#count').text(count);
    }

this will make count = 0オートコンプリートを閉じるたびに

フォームを送信すると、count var は常に 0 になり、allowSubmit = false

 $("#updatestock_form").submit(function(e){
            if(count === 0){ allowSubmit = false; alert(count); } 
            else { allowSubmit = true; alert(count); }
            if (!allowSubmit) return false;

        //rest of submit code
        });

送信自体でこれを確認できます

$("#updatestock_form").submit(function(e){
            var count = $('#stock_input').autocomplete("widget").find( "li" ).length;
            if(count === 0){ allowSubmit = false; alert(count); } 
            else { allowSubmit = true; alert(count); }
            if (!allowSubmit) return false;

        //rest of submit code
        });
于 2013-04-14T09:26:27.850 に答える
0

次のコードでそれを行いました:

$('#stock_input').autocomplete({
        source:'autocomplete.php',
        autoFocus: true,
        minLength:1,
        response: function(event, ui) {
            if (ui.content.length === 0) {
                count_result = 0; //no results
            } else {
                count_result = 1;
            }
        }
});

と:

$("#updatestock_form").submit(function(e){
    if(count_result === 0){ allowSubmit = false; }
        else { allowSubmit = true; }
        if (!allowSubmit) return false;
});
于 2013-04-14T10:04:46.787 に答える