【发布时间】:2016-03-06 06:01:46
【问题描述】:
当我从下拉菜单中选择一种语言时,我可以通过页面刷新成功地做到这一点。但是当我想在不刷新的情况下使用 ajax.it 时会出错。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.js"></script>
<script>
google.load("elements", "1", {
packages: "transliteration"
});
</script>
<select name="langpair" style="height:32px; padding:0;" id="langpair" size="1">
<option value="ENGLISH">ENGLISH</option>
<option value="AMHARIC" >AMHARIC</option>
<option value="HINDI">HINDI</option>
</select>
<br/>
<hr>
<textarea class="form-control" maxlength="160" id="message" name="message" rows="3" placeholder="Message"></textarea>
<br/>
<script>
$("#langpair").change(function() {
var data = this.value;
var options = {
sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage: [google.elements.transliteration.LanguageCode[data]],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
//console.log(options);
var control = new google.elements.transliteration.TransliterationControl(options);
control.makeTransliteratable(['message']);
});
</script>
Console.log(c) 给出[[object Object].HINDI]。
changelanguage.php 将类似 HINDI 的语言名称返回为 data
检查 dis Demo 链接。
请帮忙。 谢谢
【问题讨论】:
-
尝试将
var c = '[' + a + '.' + b + ']';更改为var c = [ a , b ];。但为了更好地理解,您希望console.log(c);记录的具体值是多少? -
当我在目标语言的选项数组中添加这个
google.elements.transliteration.LanguageCode.HINDI时。它工作正常。但同时使用变量c 会得到Uncaught Error: Exception in Controller: Unsupported language [object Object] in targetLangCode array。
标签: javascript jquery google-translate translate