0
我需要英特爾XDK項目的幫助。 經過研究,我成功地創建了一個自動完成表單。 但是,如果用戶未選擇過濾器列表中的值 並手動輸入該值,則不會將其保存到變量中。 可以選擇「data-lastval」中的值。 以下是DOM中出現的代碼。但是通過我所做的所有研究,我無法理解,如何獲取data-lastval的這些內容並將其放入一個變量中。在選擇列表項目時,它會保存到隱藏的輸入字段,並可以存儲到本地存儲。我需要幫助建立這個JavaScript或jQuery的移動選擇器,如var xstreet = ... 「如果」-logic將決定,隱藏的字段是空的,然後把「xstreet」,而不是在這個。jquery mobile data-lastval
<div class="ui-input-search ui-shadow-inset ui-input-has-clear ui-body-e ui-corner-all">
<input data-type="search" placeholder="street" data-lastval="2323">
<a href="#" class="ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all" title="Clear text">Clear text</a></div>
代碼中的src:
<div class="widget uib_w_15 form1widths labelwhite form1forms streetfield" data-uib="jquery_mobile/input" data-ver="0" id="streetfield"><input type="hidden" id="xd">
<ul class="autocomplete" data-role="listview" data-inset="true" data-filter="true"
data-filter-placeholder="street" data-filter-theme="e"></ul>
</div>
代碼HEAD:
<script>
$('#streetfield ul').listview();
var gcity = window.localStorage.getItem("city");
$(document).on("pageinit", "#form", function() {
$(".autocomplete").on("listviewbeforefilter", function(e, data) {
var $ul=$(this);
var value = $(data.input).val();
var dropdownContent = "" ;
$ul.html("") ;
if (value && value.length > 2) {
var response = ['data1','data2','data3'];
$('.autocomplete').show();
$ul.html("<li><div class='ui-loader'><span class='ui-icon ui-icon-loading' ></span></div></li>");
$ul.listview("refresh");
$.each(response, function(index, val) {
dropdownContent += "<li>" + val + "</li>";
$ul.html(dropdownContent);
$ul.listview("refresh");
$ul.trigger("updatelayout");
});
}
});
});
$(document).on("click", ".autocomplete li", function() {
var selectedItem = $(this).html();
$(this).parent().parent().find('input').val(selectedItem);
$('.autocomplete').hide();
});
</script>