我需要英特尔XDK项目的帮助。 经过研究,我成功地创建了一个自动完成表单。 但是,如果用户没有从筛选器列表中选择值, 并手动输入值,它不会保存到变量中。 可以在“data-lastval”中选择值。 这是DOM中出现的代码。但是,通过我所做的所有研究,我无法理解,如何获取data-lastval的这些内容并将其放入变量中。在选择列表项时,它将保存到隐藏的输入字段,并可以存储到localstorage。我需要帮助来构建这个javascript或jquery移动选择器,比如var xstreet = ... “如果”-logic将决定隐藏字段为空,然后将“xstreet”改为此。
<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>
头脑中的代码:
<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>
答案 0 :(得分:0)
嗯,没有人帮忙。我想,这可能是解决方案。 我在另一个案例中找到了它。
var x = $(#id).attr('data-lastval')
也许它可以帮助别人。