ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery ajax html5 datalist autocomplete例
<span>window.DATALIST = { </span> <span>cache: {}, </span> <span>init: function() </span> <span>{ </span> <span>var _this = this, </span> <span>this.cache.$form = $('formid'); </span> <span>this.cache.$suburbs = this.cache.$form.find('datalist#suburbs'); </span> <span>this.cache.$suburbInput = this.cache.$form.find('input[name="suburb"]'); </span> <span>this.cache.$postcodeInput = this.cache.$form.find('input[name="postcode"]'); </span> <span>this.cache.$stateInput = this.cache.$form.find('input[name="state"]'); </span> <span>//grab the datalist options from JSON data </span> <span>var checkMembershipRequest = $.ajax({ </span> <span>type: "GET", </span> <span>dataType: "JSON", </span> <span>url: "/php/suburbs.php" </span> <span>}); </span> checkMembershipRequest<span>.done(function(data) </span> <span>{ </span> <span>console.log(data); </span> <span>//data could be cached in the browser if required for speed. </span> <span>// localStorage.postcodeData = JSON.stringify(data); </span> <span>//add options to datalist </span> $<span>.each(data.suburbs, function(i<span>,v</span>) </span> <span>{ </span> _this<span>.cache.$suburbs.append(''+i+''); </span> <span>}); </span> <span>//hook up data handler when suburb is changed to autocomplete postcode and state </span> _this<span>.cache.$suburbInput.on('change', function() </span> <span>{ </span> <span>// console.log('suburb changed'); </span> <span>var val = $(this).val(), </span> selected <span>= _this.cache.$suburbs.find('option[data-value="'+val+'"]'), </span> postcode <span>= selected.data('postcode'), </span> state <span>= selected.data('state'); </span> _this<span>.cache.$postcodeInput.val(postcode); </span> _this<span>.cache.$stateInput.val(state); </span> <span>}); </span> <span>}); </span> checkMembershipRequest<span>.fail(function(jqXHR<span>, textStatus</span>) </span> <span>{ </span> <span>console.log( "postcode request fail - an error occurred: (" + textStatus + ")." ); </span> <span>//try again... </span> <span>}); </span> <span>} </span> <span>}</span>
*Suburb: *Postcode: State:
<span>{ </span> <span>"suburbs": { </span> <span>"suburb1": { </span> <span>"postcode": "2016", </span> <span>"state": "NSW" </span> <span>}, </span> <span>"suburb2": { </span> <span>"postcode": "4016", </span> <span>"state": "QLD" </span> <span>}, </span> <span>"suburb3": { </span> <span>"postcode": "3016", </span> <span>"state": "CA" </span> <span>}, </span> <span>"suburb4": { </span> <span>"postcode": "8016", </span> <span>"state": "WA" </span> <span>}, </span> <span>"suburb5": { </span> <span>"postcode": "6016", </span> <span>"state": "SA" </span> <span>} </span> <span>} </span><span>}</span>
<span>var e = jQuery.<span>Event</span>("keydown"); </span>e<span>.which = 40; </span>e<span>.altKey = true; </span><span>$("input").trigger(e);</span>
$。ajax({
var datalist = $(' #your-datalist-id ');
datalist.empty();
$ .each(data、function(index、value){
datalist.append( '
以上がjQuery ajax html5 datalist autocomplete例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。