jquery - Ajax 请求后选择选项未重置
问题描述
我有一个表格,其中有标题、选择选项和内容。我正在做的是我正在获取所有数据并通过 ajax 将其发送到服务器,我能够重置输入字段但我无法重置选择选项框。
以下是我的选择框代码:
<select name="post_category" class="post_category round select2 form-control" id="id_h5_single">
<option selected disabled value="">Select Post Category</option>
<option value="Am">America</option>
<option value="Nt">Netherland</option>
</select>
以下是我用来重置上述字段的 jQuery 代码:
// $('.post_category').prop('selectedIndex',-1);
// $('.post_category').val($(this).find('option:first').val());
// $("select.post_category option:selected").attr('disabled','disabled');
// $("select").val("");
$('.post_category').prop('selectedIndex',0);
注释代码是我使用过的代码。我想要做的是,当页面默认加载时,它显示在 select 中Select Post Category
。当我重置它时,我想在 ajax 请求之后显示相同的内容。但是,我发现其中的困难。怎么了,我无法得到它。
解决方案
我给你一个接近你目标的例子。文档加载时,1 second
select 变为 后America
,4 seconds
稍后会再次变为默认值。
$(document).ready(function()
{
$(".select2").select2();
setTimeout(
function(){$("#id_h5_single").val("Am").change();},
1000
);
setTimeout(
function(){$("#id_h5_single").val("").change();},
5000
);
});
.select2{
width: 50vw;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js"></script>
<select name="post_category" class="post_category round select2 form-control" id="id_h5_single">
<option selected disabled value="">Select Post Category</option>
<option value="Am">America</option>
<option value="Nt">Netherland</option>
</select>
但是,由于您使用的是select2 插件,因此您想要的最佳方法是使用占位符,而不是默认的禁用选项。您可以在下一个示例中检查这一点:
$(document).ready(function()
{
$(".select2").select2({
placeholder: "Select Post Category",
allowClear: true
});
setTimeout(
function(){$("#id_h5_single").val("Am").change();},
1000
);
setTimeout(
function(){$("#id_h5_single").val("").change();},
5000
);
});
.select2{
width: 50vw;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js"></script>
<select name="post_category" class="post_category round select2 form-control" id="id_h5_single">
<option value="Am">America</option>
<option value="Nt">Netherland</option>
</select>
推荐阅读
- java - 通过异常测试时遇到问题
- database - 如何从两个组合表中获取结果
- phpstorm - 为 JavaScript 调试配置 PhpStorm 的问题
- php - woocommerce 购物车页面上的空购物车按钮无法正常工作
- java - 如何在 jhipster spring 项目中应用 liquibase 变更日志
- java - 从 firebase 和 recyclerview 中删除数据
- javascript - 初次挂载后可以使用 watch 来跟踪存储更改吗?
- python - 从 TensorArray 到 Tensor
- python - 如何返回字符串中存在的数字?
- ios - 在 iOS 14 上请求跟踪授权总是返回“拒绝”