下拉列表支持拼音简拼、全拼、汉字搜索。

下拉列表支持拼音简拼、全拼、汉字搜索。

项目需要做一个下拉列表能支持拼音简拼、全拼、汉字搜索网上搜了好多效果都不是很好,无奈之下就自己写了一个插件,本人技术有限写的不好的地方大家多多拍砖,希望好的建议和代码共同分享。下载连接

先上图


实现原理:事实上这种下拉列表就是有一些div拼在一块来实现。

看图片大家都能明白每一种颜色就是一个div。原理有了下面就是如何去实现。

(1)如何用div+css拼成上图效果,动态生成替换原select。

(2)如何让下拉列表支持拼音搜索。

最后还需要引入两个js是用来处理拼音的。getpyszm.js和changtopy.js。当然不要忘了还用到了jquery。(推荐使用jquery-1.4.4.min.js)

如何使用(例如html select代码如下):

要引入的文件:

  <!-- 下拉列表 -->
<link href="selectbox.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>

<script type="text/javascript" src="/TBPWeb/app/runlognew/js/getpyszm.js"></script>
<script type="text/javascript" src="/TBPWeb/app/runlognew/js/changtopy.js"></script>

<!--单选插件-->
<script type="text/javascript" src="/TBPWeb/app/runlognew/js/jquery.singleselect.js"></script>

<!--多选插件-->
<script type="text/javascript" src="/TBPWeb/app/runlognew/js/jquery.multiseselect.js"></script>

<select id="test">
		<option value="v1">测试1</option>
		<option value="v2">测试2</option>
		<option value="v3">测试3</option>
	</select>

(1)通过$("#test").singleSelect({width:"88%"});就能实现下拉列表搜索的功能。还有其他的配置参数分别说下:

     id:'',                                             id可有可无。 可有可无
      width:'90%',                               下拉列表的宽。可有可无
      valItem:'',                                    下拉列表项(一个所有下拉列表value的数据)。可有可无
      txtItem:'',                                      下拉列表项(一个所有下拉列表text的数据)。可有可无
      selectItem:'',                               下拉列表选中项id  。可有可无
      render:null,                                 下拉列表放到那。可有可无
      changeFunction:null                 选项改变时触发事件(写法:changeFunction:“testChange()”)

(2)通过 $("#test").getsingleSelectValue();得到下拉列表选中的值value。

(3)通过$("#test").getsingleSelectText();得到下拉列表选中的text。

(4)通过$("#test").getAllSingleSelectValue()得到下拉列表所有值value。

(5)通过$("#test").getAllSingleSelectText()得到下拉列表所有的值text。

(6)通过$("#test2").createSingleSelect({ //test2是生成的下拉列表要放的地方。
            id:"test3",              下拉表明表id
            width:"72%",          下拉列表width
            valItem:iditems,      下拉列表value数组
            txtItem:valitems,     下拉列表text数组
            selectItem:czdwid   下拉列表选中项
        });

(7)通过$("#test").changeSingleSelectContent({valItem:idItems,txtItem:valItems});动态改变下拉列的值。

(8)通过$("#test").singleSelectLoaddingOn();打开一个缓冲字样。

以上是主要的方法,其他的源码中都有注释,写法都类似。多选下拉列表跟单选下拉列表类似。

   


                          

网页下拉框智能诱导输入使用说明(V5.0) *------------------------------------------------------------------------------------------------------------- * 〖功能简介〗 * * 1) 在填写表单时,对于下拉框有众多的条目时,选择一个目标条目往往要拉动下拉框的 * 滚动条寻找,即花时间又麻烦,本程序提供了诱导输入的功能。 * * 2)用户只要输入下拉框选项每字的第一五笔或者拼音码,诱导框就会将最先匹配的n条记录 * (这个参数可以配置,由MAX_MATCH_COUNT来指定),显示在弹出框(窗口大小可以通过POPUP_WIDTH, * POPUP_HEIGHT参数设置)中,用户可用一般输入法选择记录的方法,将已匹配的条目选中:按空格, * 选中头条按数字选中对应的条目,按回车关闭窗口,取消选择. * * 3) 本诱导输入同时支持中英文诱导,中文的编码方式支持五笔和拼音。英文诱导,中文五笔诱导,中文拼音诱导 * 的诱导功能可以通过ACTIVE_EN_QUICK_SELECT,ACTIVE_WB_QUICK_SELECT,ACTIVE_PY_QUICK_SELECT参数激活或关闭 * * 4)支持ie5.0 ie5.5 ie6.0 ~...,在ie5.0上,诱导提示窗口在浏览器的状态栏中,在ie5.5以上版本上诱导窗口为一个浮动 * 窗口。 * * 5)新版本特性:支持特殊字符的诱导,更改了不合法按键弹出窗口的问题,增加了delete键删除选项的功能(目前还不支持数据诱导) *--------------------------------------------------------------------------------------------------------------
### 回答1: 要实现JS获取中文拼音全拼,可以借助第三方库pinyin.js来实现。pinyin.js是一个基于汉字拼音的JavaScript库,可以将中文转成拼音,并具有全拼简拼以及多音字处理的功能。 实现的步骤如下: 1. 首先,下载pinyin.js库,并在HTML文件中引入该库的脚本。 2. 创建一个input文本框,用于输入中文字符。 3. 监听input文本框的oninput事件,在事件处理函数中获取输入的中文字符。 4. 使用pinyin.js库的方法将中文字符转换成拼音。可以使用pinyin.js库提供的toPinyin方法来实现,该方法接收一个字符串参数,返回对应的拼音全拼字符串。 5. 将转换后的拼音全拼字符串显示在页面上,可以通过innerHTML或者innerText属性来设置显示内容。 示例代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="pinyin.js"></script> </head> <body> <input id="input" type="text" oninput="getFullPinyin()"> <div id="pinyin"></div> <script> function getFullPinyin() { var input = document.getElementById("input").value; var fullPinyin = pinyinUtil.toPinyin(input, '', true); document.getElementById("pinyin").innerText = fullPinyin; } </script> </body> </html> ``` 以上示例中,pinyin.js库被引入,并在输入框的oninput事件中调用getFullPinyin函数,获取中文输入的拼音全拼,并将结果显示在id为pinyin的div元素中。 ### 回答2: 在JavaScript中,可以使用第三方库来获取中文拼音全拼。其中一个常用的库是pinyin.js。使用该库可以非常方便地将中文转换成拼音全拼。 首先,需要将pinyin.js库引入到项目中。可以通过在HTML文件中添加如下代码来实现: ```html <script src="pinyin.js"></script> ``` 假设我们要获取中文字符串"中国"的拼音全拼。可以使用以下代码来实现: ```javascript var pinyin = PinyinHelper.convertToPinyinString("中国", "", PinyinFormat.WITHOUT_TONE); console.log(pinyin); // 输出:zhongguo ``` 在上述代码中,`PinyinHelper.convertToPinyinString`函数接受三个参数。第一个参数是要转换的中文字符串,第二个参数是分隔符,指定将拼音拼接在一起时使用的分隔符,默认为空字符串。第三个参数是拼音格式,可选值有WITH_TONE_NUMBER(带声调数字)、WITHOUT_TONE(不带声调)和WITH_TONE_MARK(带声调符号)。 通过调用`PinyinHelper.convertToPinyinString`函数,即可将中文字符串转换为拼音全拼。以上例子中,输出结果为"zhongguo",即“中国”的拼音全拼。 ### 回答3: 要使用JavaScript获取中文拼音全拼,我们可以借助第三方的拼音库,比如pinyin.js。首先,我们需要在项目中引入该库。 然后,我们可以使用该库的方法将中文转换为拼音。具体的步骤如下: 1. 创建一个存储中文字符串的变量。 2. 使用pinyin库的方法,将中文字符串转换为拼音数组。 3. 将拼音数组转换为拼音字符串。 4. 输出拼音字符串。 下面是一个示例代码: ```javascript // 引入pinyin库 import pinyin from 'pinyin'; // 定义中文字符串 const chineseString = '中文拼音'; // 将中文字符串转换为拼音数组 const pinyinArray = pinyin(chineseString, { style: pinyin.STYLE_NORMAL, // 获取全拼 }); // 将拼音数组转换为拼音字符串 const pinyinString = pinyinArray.join(''); console.log(pinyinString); // 输出拼音字符串 ``` 上述代码中,我们使用`pinyin.STYLE_NORMAL`来获取中文拼音全拼形式。你也可以尝试其他的拼音风格,比如缩写形式。 总之,通过使用第三方库pinyin.js,我们可以方便地在JavaScript中获取中文字符串的拼音全拼
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值