您的位置:首页 > Web前端 > JQuery

jquery chosen这个插件 可以实现 拼音搜索

2017-11-12 15:04 891 查看
https://github.com/emtiantian/ProblemLog

git地址

说明一下 js源码在../js/chonseOne.js

发现一个错误 在搜索单个汉字的时候搜索不到

已经修复 源码更新

发现 不能全拼搜索

已经修复

现有问题 在全拼搜索后 不能正确显示对应搜索内容 比如 好看 搜索 kan 不能正确的在‘看’字下面添加下划线

暂时去掉这个 下划线功能了 如有需要在改

Jquery chosen动态设置值

Jquery chosen 地址:https://github.com/harvesthq/chosen

一款选择插件,支持检索,多选,但不支持输入效果如下图





确定是用的这个哦, 不然可往下看也没有什么意义了

突然发现如果用在省市选择发现有如下问题:

1,不能动态设置值

2,不能动态设置选中

看了好几遍API愣是米有发现有方法可以直接调用。没办法就看源码,发现在其初始化的时候有一个判断如下图:



发现有个destroy是不是("#city).chosen("destroy");就可以了呢。把猜想试了一下果然可以。在这之前调试过其生成的dom想通过直接将其生成的dom移除掉,结果是不可行的,能移除掉,但是就再也无法初始化了。浪费了二三个小时哇。

首先解决第一个问题

[javascript]
view plain
copy

<span style="white-space:pre">  </span>$("#province").change(function(){  
        $("#city").html("");  
        $("#city").chosen("destroy");  
        $("<option value='-1'>-全部-</option>").appendTo("#city");  
        $.getJSON("${ctx}/api/getCityByProvinceJson.jsp",{  
            province:$("#province").val()  
        },function(data){  
              
            $.each(data,function(i){  
                $("<option value='"+data[i].city+"'>"+data[i].city+"</option>").appendTo("#city");  
            });  
            $("#city").attr("multiple",true);  
              
            $("#city").chosen({  
                no_results_text : "未找到此选项!",  
                width:"70%"  
            });  
        });  
    });  
    $("#city").chosen({  
        no_results_text : "未找到此选项!",  
        width:"70%"  
    });  

这样便可动态设置值了,感觉代码有点重复,但是目前还没有找到比较好的方法
下面解决第二个问题

用法跟上面相似,先给select设置值再用初始化下拉框,代码如下:

[javascript]
view plain
copy

<span style="white-space:pre">  </span>$("#city").val("上海");  
    $("#city").chosen({  
        no_results_text : "未找到此选项!",  
        width:"70%"  
    });  

这样便可以动态设置选中了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐