<!DOCTYPE html>
<html>
<head>
<title>colls</title>
<link rel="stylesheet" href="./jq/jquery.mobile-1.4.0.css" />
<script src="jquery.js"></script>
<script src="./jq/jquery.mobile-1.4.0.js"></script>
<script src="pay.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>
<header data-role="header" data-theme="b">
<h1>liste 1</h1>
</header>
<div data-role="content" data-theme="b">
<form class="ui-filterable">
<input id="filterBasic-input" data-type="search" placeholder="votre pays" >
</form>
<div data-filter="true" data-input="#filterBasic-input"data-theme="b"datainset="true">
<div data-role="collapsible">
<h2><span>alsace</span> <a class="gene02 ui-btn-right"data-role="button"
data-inline="true" data-mini="true" data-icon="search">generique</a></h2>
<p>code:3300</p>
<p class="pays">france</p>
这是我的脚本
$(document).ready(function() {
$(".gene02").click(function() {
var $hui= $(this).closest('div').find('.pays').html();
$("#filterBasic-input").val($hui).submit();
});
});
当我点击.gene02时,它会提交结果并对其进行过滤,但输入的值为空白,并且未显示清除按钮。请帮助。
当我从我的脚本中删除.submit时,值会更改,但不会被过滤。 请求帮助
答案 0 :(得分:0)
首先,不要在jQuery Mobile中使用.ready()
,而是使用pagecreate
。
其次,您需要在包含可过滤数据的div上手动触发可过滤。
HTML
<div id="filter" data-filter="true" data-input="#filterBasic-input" data-theme="b" datainset="true" >
JS
$(document).on("pagecreate", function () {
$(".gene02").on("click", function () {
var $hui = $(this).closest('div').find('.pays').html();
$("#filterBasic-input").val($hui);
$("#filter").filterable("refresh"); /* this */
});
});
<强> Demo 强>