我找不到如何更改数据库
上的语言的方法这是我的代码片段 我正在加载语言文件
<script type="text/javascript" src="../../js/i8n/jquery.mobile.datebox.i18n.en.js"></script>
<script type="text/javascript" src="../../js/i8n/jquery.mobile.datebox.i18n.de.js"></script>
<div data-role="fieldcontain" id="langSelect">
<label for="picklang">
Language</label>
<select name="picklang" id="picklang" data-native-menu="false">
<option value="en">[en] English US</option>
<option value="de" selected="selected">[de] German</option>
</select>
</div>
<div data-role="fieldcontain" id="calendar">
<input name="startDate" type="date" data-role="datebox" id="startDate" data-options='{"mode": "flipbox", "useLang": "de"}' />
</div>
我想根据#picklang的选定值更改数据库的本地化,因此我使用以下脚本代码
<script type="text/javascript">
$(document).delegate('#picklang', 'change', function () {
var val = $("#picklang option:selected").val();
alert(val);
$('#startDate').attr('data-options', '{"mode": "flipbox", "useLang":"' + val + '"}');
});
这就是问题所在。警报显示所选值,但数据堆(= flipbox)显示与之前相同的值(=加载页面后)。
有谁可以给我建议? 迈克尔
答案 0 :(得分:0)
这里有一个小片段,它不仅会动态加载新选择的语言,还会更改为页面上每个日期框中的新选择。
$('.opt-pop-lang').live('change', function() {
newLang = $(this).val();
$.ajax({
url: "http://dev.jtsage.com/cdn/datebox/i18n/jquery.mobile.datebox.i18n." + newLang + ".utf8.js",
success: function(data) {
eval(data);
var x = $.mobile.datebox.prototype.options.lang[newLang];
$(document).find('[data-role=datebox]').each(function() {
$(this).data('mobileDatebox').options.lang[newLang] = x;
$(this).data('mobileDatebox').options.useLang = newLang;
});
}
});
});
它可能比您需要的多,但.useLang行正在改变语言。之前的位是拉入文件并将其注入每个日期框实例。