JQueryMobile 获取 ListView 中输入字段的值以在数据库中搜索

标签 jquery jquery-mobile jquery-mobile-listview

我想获取两个 ListView 的值,以将它们用作数据库调用的变量。

这是一个 sscce:

<!DOCTYPE html> 
 <html>
<head>
<title>Startseite</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css" /> 
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js"></script>
<script>
$( document ).on( "pageinit", "#startseite", function() {
/* retrieve text from clicked li */
$(document).on("click", "li", function () {
  var text = $(this).text();
  $(this).closest("ul").prev("form").find("input").val(text);
  $(this).closest("ul").children().addClass('ui-screen-hidden');
});

$(document).on("click", "#send", function() {

});
});
</script>
</head>

<body>
<div data-role="page" id="startseite">

  <div data-role="header" data-theme="a">
<h1>Head</h1>
  </div>

  <!--<div data-role="main" class="ui-content">!-->
  <div data-role="tabs" id="tabs" >
<div data-role="navbar" data-iconpos="left">
  <ul>
      <li><a href="#one" data-ajax="false" class="ui-btn-active" data-icon="search">Suche</a></li>
      <li><a href="#two" data-ajax="false" data-icon="location">Karte</a></li>
  </ul>
</div>
<div id="one" class="ui-body-d ui-content">
  <form>
    <label for="shop">Was suchen Sie?</label>
    <ul id="shop" data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Restaurant, Bar, Kiosk" data-inset="true">
      <li><a href="#">Restaurant</a></li>
      <li><a href="#">Bar</a></li>
      <li><a href="#">Kiosk</a></li>
    </ul>
    <label for="city">Wo suchen Sie?</label>
    <ul id="city" data-role="listview" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Alsdorf" data-inset="true">
      <li><a href="#">Aachen</a></li>
      <li><a href="#">Augsburg</a></li>
    </ul>
    <br>
    <input id="send" class="ui-btn ui-btn-b ui-corner-all" type="button" value="Absenden">
  </form>
</div>
<div id="two" class="ui-body-d ui-content">
        Page 2
</div>

我的问题是我无法找到一种方法来访问 JQueryMobile 生成的输入字段的值。

最佳答案

自动完成表单始终动态放置在 ListView 之前。您所需要做的就是为 ListView 提供一个ID,并在上一个表单中查找输入

$("#send").on("click", function () {
  var value = $("#autocomplete").prev("form").find("input").val();
  alert(value);
});

Demo

关于JQueryMobile 获取 ListView 中输入字段的值以在数据库中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874764/

相关文章:

javascript - 如何禁用 jquery 选项卡中的显示效果?

javascript - jQuery Mobile - 动态创建表单元素

jquery - jQuery Mobile 中的动态 A 到 Z 内容列表

html - 重新设计 jquery-mobile 站点的关注点分离

javascript - 选项卡中的 jQuery Mobile ListView 和渲染问题

jquery-mobile - 使用 jquery mobile 创建可点击的表格行

javascript - 如何防止 DOM 附加期间表行高故障?

javascript - 复选框在勾选/未勾选时显示 div。但是在浏览器中 'back'时div是隐藏的

javascript - 检查 ajax 函数中是否存在动态 url

jquery - 更改 jquery 移动 ListView 背景颜色