0

以下のスクリプトがあります。

$("#product1").autocomplete({
     source: "get_sku_family",
     messages: {
         noResults: '',
         results: function () {}
     },

     select: function (event, ui) {
         var selectedObj = ui.item;

         $.post('get_as_09', 
             {
                 data: selectedObj.value
             }, 
             function (result) {
                 if (result[0] > 0) {
                     $('#h09_1').attr('checked', 'checked');
                 } else {
                     $('#h09_1').removeAttr('checked');
                 }
             }
         });
     }
});

これには、テキストが入力されたときにデータベースからのオプションを提供するオートコンプリート フィールドがあります。これは機能します。次に、オートコンプリートのオプションをクリックすると、function( get_as_09) を使用してデータベースにクエリを実行し、結果に基づいてチェックボックスをチェックします。

繰り返しますが、これは 100% 機能します。

ただし、変更したいのは、オートコンプリートに新しい値を入力するときに、新しいデータベース ルックアップ ロジックを適用してチェックボックスをオンにする前に、チェックボックスをオフにする必要があることです。

どこに追加すればいいのかわからない$('#h09_1').removeAttr('checked');

ありがとうございます...

任意の助けをいただければ幸いです

UPDATEリプ

if(data:selectedObj.value.length ==0 ){$('#h09_1').removeAttr('checked');};
 $.post('get_as_09', {data:selectedObj.value},function(result) { 

      if(result[0] > 0) {
          $('#h09_1').attr('checked','checked');
       } else {
          $('#h09_1').removeAttr('checked');
      }
 }); 
4

5 に答える 5

1

この行の前に

$.post('get_as_09', {data:selectedObj.value},function(result) { 

data:selectedObj.value の値が空かどうかを確認します。空の場合は、投稿リクエストを行う必要はありません。チェックボックスをオフにするだけです。

于 2013-04-19T07:44:40.953 に答える
0

変更イベントでtexboxでそれを作成しようとすることは、オートコンプリートに新しい値を入力するときに、チェックしたいものをクリアするためにそこに作成することを意味します

于 2013-04-19T07:45:05.873 に答える
0

on focusオートコンプリート フィールドのチェックボックスをオフにしないでください。
このイベントに関するドキュメントは次のとおりですhttp://api.jqueryui.com/autocomplete/#event-focus

あなたが言ったように、それだけ $('#h09_1').removeAttr('checked');で十分です。

focus: function( event, ui ) {
    $('#h09_1').removeAttr('checked');
}
于 2013-04-19T07:46:40.590 に答える
0

前に置いたらどうですか

   $.post('get_as_09', {data:selectedObj.value},function(result) { 

$('#h09_1') の中に smth を入れる前に毎回それをきれいにしますか?

于 2013-04-19T07:43:28.653 に答える