我有一个页面,在其中对数据库进行查询,应用了12个过滤器(每个过滤器对应一个select2下拉菜单)。
当页面加载时,默认情况下将使用来自java控制器的数据填充所选内容。
jsp页面中的示例:
<select id="selectFPA" name="selectFPA" form="formResult" class="form-control">
<option selected>All the results</option>
<c:forEach items="${fpaList}" var="fpaList">
<option><c:out value="${fpaList.fpaname}" /></option>
</c:forEach>
</select>
例如,假设我们有两个选择过滤器(下拉):
选择1(动物组):-鸟类-哺乳动物
选择2(动物名):-鹦鹉-狗
当我想清除应用的过滤器并返回到原始的select内容(每次从java控制器加载页面时默认出现的内容)时,问题就来了。
我尝试了很多事情,从类似的Stackoverflow问题没有成功。
我最后尝试的是:
>
将select的初始内容保存在变量中:
常量fpa=$(“#selectfpa”).find(“option”).clone();
Onclick事件(Reset filters按钮)
$("#ResetFilters").on("click",function() {
//first we empty the content
$('#selectFPA').empty().trigger('change.select2');
//original value injection
$("#selectFPA").html(fpa),
$('#selectFPA').trigger('change.select2')
})
如果我按了一次按钮,这工作很好,如果我按了第二次按钮,选择器在默认情况下随机选择不同的值,它们的行为很奇怪。
我知道这是一个非常具体的问题,但有人能帮我吗?我做错了什么?
谢谢你。
我认为根据这个答案,您不能在jquery中创建常量,这就是它只在第一次工作而下一次不工作的原因。另外,解决方案可以将clone
值分配给某个div
并在需要时随时获取它。如下所示:
//call when page loads for the first time
$(document).ready(function() {
//cloning
var fpa = $("#selectFPA").find("option").clone();
//assigning value to div
$("#abc").html(fpa);
$("#ResetFilters").on("click", function() {
//getting clone value from div
var c = $("#abc").find("option").clone();
//first we empty the content
// $('#selectFPA').empty().trigger('change.select2');
//original value injection
$("#selectFPA").html(c);
//$('#selectFPA').trigger('change.select2')
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="selectFPA" name="selectFPA" form="formResult" class="form-control">
<option selected>All the results</option>
<option>1</option>
<option>2</option>
</select>
<button id="ResetFilters">Reset</button>
<div id="abc" style="display:none"></div>
我有一个包含5列的mysql数据库表。 id,columnA,columnB,columnC,columnD 我用这些值填充datatable,因此每列有2个(不同的)值。 我希望用户可以从下拉列表中选择这些值。当他/她从columnA中选择第一个数据时,columnB值会根据所选值出现在另一个选择框中。等等..所以我想我需要使用Ajax-jQuery。这是我使用的脚本, 和php代码。 我得到了
问题内容: 就像标题中所说的那样,尽管我对尚未付诸实践的理论很熟悉,但我仍在尝试使用jQuery,JSON和AJAX创建下拉菜单,因此,任何建议,演示代码段或教程都将不胜感激,因为我想开始最好的开始! 提前感谢! 问题答案: 您需要执行$ .getJSON调用以从document.load或其他一些事件http://api.jquery.com/jQuery.getJSON/上的服务器中获取jso
问题内容: 我已经用AJAX填充了ASP.net下拉列表,现在我需要获取ID以C#方法存储到数据库中((我正在使用LINQ) 这是我的网络方法 我的test.aspx代码 问题答案: 如果在中添加选项,则无法从中获取所选值。您可以尝试以下
问题内容: 我知道在这个问题上有很多问题,但是我仍然不确定该怎么做。 我有一个名为“ CuisineForm”的HTML表单,在用户选择了美食类型之后,AJAX将该表单发送到服务器。AJAX调用工作正常,并且服务器以JSON响应进行响应,其中包含此特定美食的所有服务时间。这些服务时间分为早餐,午餐和晚餐。 这些时间需要以相同的形式填充到3个单独的下拉菜单中。 但我真的不知道如何处理JSON结果以填
问题内容: 我需要使用JavaScript根据下拉菜单A中的选择更改下拉菜单B的内容。没有涉及到数据库查询- 我事先知道应该在A中选择B的内容。我已经找到了一些使用AJAX的示例,但是由于没有涉及到数据库查询,所以没有必要。谁能为我指出一些示例代码以实现此目的? 问题答案: function configureDropDownLists(ddl1, ddl2) {
问题内容: 我设法用json对象填充下拉菜单,效果很好。目前,我正在尝试根据从下拉菜单中选择的选项显示隐藏div中的图像。当下拉列表由json对象填充时,我将如何检索图像数据。 HTML JSON文件 这就是我使用jquery填充下拉菜单的方式。 jfiddle中任何有效的示例,将不胜感激!谢谢。 问题答案: 现场演示