我在mu网站中使用select2.js。我的网站语言是波斯语。我用这个选项填充select元素
<select name="TrainDeparture" class="full-width select2" id="TrainDeparture">
<option value="165">كرج</option>
</select>
字符串
js:
(function ($) {
"use strict";
$.fn.select2.locales['fa'] = {
formatMatches: function (matches) { return matches + " نتیجه موجود است، کلیدهای جهت بالا و پایین را برای گشتن استفاده کنید."; },
formatNoMatches: function () { return "نتیجهای یافت نشد."; },
formatInputTooShort: function (input, min) { var n = min - input.length; return "لطفاً " + n + " نویسه بیشتر وارد نمایید"; },
formatInputTooLong: function (input, max) { var n = input.length - max; return "لطفاً " + n + " نویسه را حذف کنید."; },
formatSelectionTooBig: function (limit) { return "شما فقط میتوانید " + limit + " مورد را انتخاب کنید"; },
formatLoadMore: function (pageNumber) { return "در حال بارگیری موارد بیشتر…"; },
formatSearching: function () { return "در حال جستجو…"; }
};
$.extend($.fn.select2.defaults, $.fn.select2.locales['fa']);
})(jQuery);
$('.select2').select2();
型
当我在select2的搜索框中键入
ك
字符它显示消息,* 没有结果发现 *,但这是错误的。
我把阿拉伯语加到我的键盘上,然后重新测试。本例中select2当前找到的单词。现在我怎么能解决这个问题?
**jsbin link**第一个字符
3条答案
按热度按时间bgibtngc1#
我也遇到过类似的问题。我创建了一个自定义匹配器。
字符串
与原始版本的主要区别在于如何删除变音符号。
型
fnatzsnv2#
波斯语和阿拉伯语中存在写相同的数字字符,但这些字符代码不相同!例如:
ك
是阿拉伯字符ک
是波斯字符我把这个字符改为波斯文并解决。
daupos2t3#
正如hmahdavi所说,最好的处理方法是,在填充
select2
对象时更改字符。在www.example.com mvc中填充Model时,我自己将控制器中的'ي'替换为'asp.netorder'。从datatable填充项目列表时:
字符串
如果你使用的是模型,在服务器端修改字符。