0

2 つのテキスト フィールドcustomerstore.

$(function() {
    $("#customer").keyup(function(event) {
            if(document.getElementById("customer").value == "")
                $( "#store" ).prop( 'disabled', true );
    });

    $('#customer').autocomplete({
        source: "./SearchCustomer.php?term="+document.getElementById("customer").value,
        minLength: 0,
        focus: function( event, ui ) {
            $( "#customer" ).val( ui.item.label );
            return false;
        },
        select: function (event, ui) {
            $( "#customer" ).val( ui.item.label );
            $( "#customer-id" ).val( ui.item.value );
            $("#store").removeAttr("disabled").focus();
            return false;
        }
    })
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      $(ul).attr('data-role', 'listview');
      $(ul).listview();
      return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
    };

    $('#store').autocomplete({
        source: "./SearchStore.php?customer="+document.getElementById("customer").value+"&searchText="+document.getElementById("store").value,
        minLength: 0,
        focus: function( event, ui ) {
            $( "#store" ).val( ui.item.label );
            return false;
        },
        select: function (event, ui) {
            $( "#store" ).val( ui.item.label );
            $( "#store-id" ).val( ui.item.value );
            return false;
        }
    })
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
    };

});

html は次のとおりです。

<label for="name">Customer:</label>
<input type="text" name="customer" id="customer" value="" />
<input type="hidden" id="customer-id" />
<p id="customer-description"></p>

<label for="name">Store:</label>
<input type="text" name="store" id="store" value=""/>
<input type="hidden" id="store-id" />
<p id="store-description"></p>

顧客のテキスト ボックスのオートコンプリート機能は機能していますが、ストアのテキスト フィールドでは機能していません。ストア オートコンプリートで同じcustomerオートコンプリート コードを複製しましたが、データが SearchStore.php から返されていると確信しています。

これを修正するための提案をいただければ幸いです。

4

1 に答える 1

0

以下のコードで試すことができますか:

 $(function() {
    $("#customer").keyup(function(event) {
            if(document.getElementById("customer").value == "")
                $( "#store" ).prop( 'disabled', true );
    });

    $('#customer').autocomplete({
        source: "./SearchCustomer.php?term="+document.getElementById("customer").value,
        minLength: 0,
        focus: function( event, ui ) {
            $( "#customer" ).val( ui.item.label );
            return false;
        },
        select: function (event, ui) {
            $( "#customer" ).val( ui.item.label );
            $( "#customer-id" ).val( ui.item.value );
            $("#store").removeAttr("disabled").focus();
            return false;
        }
    })

.each(function() {
    $(this).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      $(ul).attr('data-role', 'listview');
      $(ul).listview();
      return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
    };
    }

    $('#store').autocomplete({
        source: "./SearchStore.php?customer="+document.getElementById("customer").value+"&searchText="+document.getElementById("store").value,
        minLength: 0,
        focus: function( event, ui ) {
            $( "#store" ).val( ui.item.label );
            return false;
        },
        select: function (event, ui) {
            $( "#store" ).val( ui.item.label );
            $( "#store-id" ).val( ui.item.value );
            return false;
        }
    })
.each(function() {
    $(this).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" ).append( "<a>" + item.label + "</a>" ).appendTo( ul );
    };
    }

});
于 2013-08-05T12:19:07.300 に答える