我有一个bootstrap模态确认,我想通过传入一个变量来显示当前选中的html选择列表的值以及一个值。
我问过这个问题并在这里得到了一个关于displaying two values from the same html select list for a JavaScript confirmation popup的好答案。但是,我现在需要用bootstrap模式替换JavaScript确认。
这是html选择列表:
<select name="language_code" id="id_language_code">
<option value="ar">Arabic - العربية</option>
<option value="bg">Bulgarian - Български</option>
<option value="zh-CN">Chinese (Simplified) - 中文 (简体)</option>
<option value="en" selected="selected">English (US)</option>
<option value="fr-CA">French (Canada) - français (Canada)</option>
</select>
我可以使用以下代码在引导模式上显示两个语言值:
$( "#submit_buttonA" ).attr('update-confirm', 'Are you sure you want to change the language of the website from ' + $('#id_language_code option[value=' + '{{ user.get_profile.language_preference }}' + ']').text() + ' to ' + $('#id_language_code option:selected').text() + '?');
上面的代码行总是返回第二语言值 $('#id_language_code选项:选中')。text()(标记为selected =“selected”)为英文(US)在引导模式上,即使用户选择了保加利亚语 - Български。
我已阅读并认为这将需要JavaScript回调函数,因为引导模式是异步的,而JavaScript confirm()不是异步的。
这是对的吗?我已经尝试编写一个回调函数来返回用户选择的html选择列表的值,但它不起作用。我不确定这是正确的方法还是我的代码技能不够好。
有人可以告诉我如何编写这个回调函数并解释它是如何工作的,因为我真的很困惑如何让它工作?
答案 0 :(得分:7)
Bootstrap的模态类已经有以下事件可以挂钩到模态功能。
您可以将上述事件用作
$('#myModal').on('shown', function () {
//your code to display the message
})
希望这能解决你的问题!
编辑1:
真正的问题在于jquery选择器$('#id_language_code option:selected').text();
使用
var selectedValue = $('#id_language_code').val():
,它会在选择框中为您提供当前选定的值。并且您可以使用$('#id_language_code option[value=' + selectedValue + ']').text();
来获取用户选择的文本。
您无需针对您的问题寻求回拨功能。
美好的一天