Javascript jQuery更改选择文本
我尝试为cyrillization select.option.text编写函数Javascript jQuery更改选择文本,javascript,select,text,replace,Javascript,Select,Text,Replace,我尝试为cyrillization select.option.text编写函数 function latin_to_cyrill(id5){ var select = document.querySelector('#id5'); var text =(select option:selected).text; var arrru = new Array ('Я','я','Ю','ю','Ч','ч','Ш','ш','Щ','щ','Ж','ж','А','а','Б
function latin_to_cyrill(id5){
var select = document.querySelector('#id5');
var text =(select option:selected).text;
var arrru = new Array ('Я','я','Ю','ю','Ч','ч','Ш','ш','Щ','щ','Ж','ж','А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё','ё','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н', 'О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ы','ы','Ь', 'ь','Э','э');
var arren = new Array ('Ya','ya','Yu','yu','Ch','ch','Sh','sh','Sh','sh','Zh','zh','A','a','B','b','V','v','G','g','D','d','E','e','E','e','Z','z','I','i','J','j','K','k','L','l','M','m','N','n', 'O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','C','c','Y','y','\'','\'','E', 'e');
for(var i=0; i<arren.length; i++){
var reg = new RegExp(arren[i], "g");
text = text.replace(reg, arrru[i]);
(select option:selected).text=text;
}
document.querySelector('#id5')=select;
}
我做错了什么?试试这个:
var ddl=document.getElementById('idofselect');
ddl.options[ddl.selectedIndex].text = text;
ddl.options[ddl.selectedIndex].value = "";
请参阅下面的工作解决方案,该解决方案还接收选择器作为参数
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<script>
function latin_to_cyrill(selector){
var select = document.querySelector(selector);
var selIndex = select.selectedIndex;
//Retrieve the text from the selected option
var text = select.options[selIndex].text;
var arrru = new Array ('Я','я','Ю','ю','Ч','ч','Ш','ш','Щ','щ','Ж','ж','А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё','ё','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н', 'О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ы','ы','Ь', 'ь','Э','э');
var arren = new Array ('Ya','ya','Yu','yu','Ch','ch','Sh','sh','Sh','sh','Zh','zh','A','a','B','b','V','v','G','g','D','d','E','e','E','e','Z','z','I','i','J','j','K','k','L','l','M','m','N','n', 'O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','C','c','Y','y','\'','\'','E', 'e');
for(var i=0; i<arren.length; i++){
var reg = new RegExp(arren[i], "g");
text = text.replace(reg, arrru[i]);
}
//Put back the mofified text to the selected option
select.options[selIndex].text = text;
}
</script>
</head>
<body>
<select id="id5">
<option value="1">First Text</option>
<option value="2">Second Text</option>
</select>
<input type=button onclick="latin_to_cyrill('#id5')" value="Run">
</body>
</html>
您使用选择器的方式不正确:
首先,我从未见过检索所选选项的语法:
var text=选择选项:selected.text
第二步,尝试将同一选择分配给一个选择:
document.querySelector'id5'=选择
答案取决于你的问题是什么,可惜没有提到。什么是西里尔化?@Ahmed-在谷歌上做一个简单的搜索,你会发现西里尔化是一个将非西里尔字母转换为西里尔字母的系统;与方法的名称完全相同。是否只更改选定的选项,还是更改所有选项?还有,你遇到了什么问题,出了什么问题,或者没有工作?