jquery - 在 Jquery 中显示从 asIconPicker 的下拉列表中搜索到的图标中选择了一个值
问题描述
我有一个用于选择某些元素的代码,该代码在您 onSelect 时效果很好,它显示了正确的选项值。问题是当我们搜索下拉列表的 onSelect 值时,我不确定如何显示选定的选项,然后它不起作用。
这是我的 Jsfiddle
$(document).ready(function() {
$('#getIcon').asIconPicker();
// Change the selector here
$('.asIconPicker-list').click(function() {
setTimeout(function(){
var html = '<div>Your choice is "' + $('#getIcon').asIconPicker('get') + '"</div>';
$(html).prependTo($('#api-get-info'));
},1)
//return false; // This prevents the dropdown from closing
});
});
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/normalize.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/main.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/prism.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/dist/css/asIconPicker.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/font-awesome.min.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/asTooltip.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.css">
<link href="https://pagecdn.io/lib/easyfonts/fonts.css" rel="stylesheet" />
<script src="https://wplugin.strandwebsites.com/stack/js/jquery.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery.toc.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/prism.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery-asTooltip.min.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery-asScrollbar.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/dist/jquery-asIconPicker.js"></script>
<section>
<span id="toc8"></span>
<pre class="has-example">
<div class="example">
<select id="getIcon" name="default" class="getIcon">
<option>fa-user</option>
<option>fa-search</option>
<option>fa-caret-right</option>
<option>fa-star</option>
<option>fa-times</option>
<option>fa-refresh</option>
<option>fa-rocket</option>
<option>fa-eye</option>
<option>fa-tag</option>
<option>fa-bookmark</option>
<option>fa-heart</option>
<option>fa-adn</option>
<option>fa-cloud-upload</option>
<option>fa-phone-square</option>
<option>fa-cog</option>
<option>fa-wrench</option>
<option>fa-volume-down</option>
<option>fa-caret-down</option>
<option>fa-caret-up</option>
<option>fa-caret-left</option>
<option>fa-thumbs-up</option>
</select>
</div>
<div class="example" id="api-get-info"></div>
</section>
解决方案
将点击事件添加到.asIconPicker-selector-popup
并在方法内添加一个条件来检查触发点击的源元素。
$(document).ready(function() {
$('#getIcon').asIconPicker();
// Change the selector here
$("#getIcon").asIconPicker('set', 'fa-search');
$('.asIconPicker-selector-popup').click(function(e){
if (e.target.tagName === 'I' || e.target.tagName === 'LI') {
setTimeout(function(){
var html = '<div>Your choice is "' + $('#getIcon').asIconPicker('get') + '"</div>';
$(html).prependTo($('#api-get-info'));
},1)
}
});
});
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/normalize.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/main.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/prism.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/dist/css/asIconPicker.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/font-awesome.min.css">
<link rel="stylesheet" href="https://wplugin.strandwebsites.com/stack/css/asTooltip.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.css">
<link href="https://pagecdn.io/lib/easyfonts/fonts.css" rel="stylesheet" />
<script src="https://wplugin.strandwebsites.com/stack/js/jquery.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery.toc.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/prism.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery-asTooltip.min.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/js/jquery-asScrollbar.js"></script>
<script src="https://wplugin.strandwebsites.com/stack/dist/jquery-asIconPicker.js"></script>
<section>
<span id="toc8"></span>
<pre class="has-example">
<div class="example">
<select id="getIcon" name="default" class="getIcon" >
<option>fa-user</option>
<option>fa-search</option>
<option>fa-caret-right</option>
<option>fa-star</option>
<option>fa-times</option>
<option>fa-refresh</option>
<option>fa-rocket</option>
<option>fa-eye</option>
<option>fa-tag</option>
<option>fa-bookmark</option>
<option>fa-heart</option>
<option>fa-adn</option>
<option>fa-cloud-upload</option>
<option>fa-phone-square</option>
<option>fa-cog</option>
<option>fa-wrench</option>
<option>fa-volume-down</option>
<option>fa-caret-down</option>
<option>fa-caret-up</option>
<option>fa-caret-left</option>
<option>fa-thumbs-up</option>
</select>
</div>
<div class="example" id="api-get-info"></div>
</section>
推荐阅读
- c - 什么是启动中的 ROM 复制部分
- stm32 - GPIO_Output 本身在 STM32 微控制器中有什么应用吗?
- javascript - Webkit 阻止了我在 scss 中添加类名的能力
- java - 如何用 or 查询?春季数据mongodb数据表
- java - 线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:索引 36 无故超出长度 36 的范围
- java - 在其他包(主包)中的活动 A 中打开不同包/文件夹中的活动 B
- python - 将百分比值转换为python数据框中的数字
- image - 如何在 Flutter 应用中实现 Instagram 故事编辑器?
- tensorflow - (TensorFlow 对象检测)custon 急切训练循环中的“分配器内存不足”
- python-3.x - Django:shell_plus --notebook 的模块导入错误