如何使用javascript显示特定下拉选择的消息
How do I show a message for a specific dropdown selection using javascript?
当有人从HTML下拉列表中进行特定选择时,我想显示一条消息。到目前为止我有这个:
<select name="configoption[56]" onchange="recalctotals()">
<option value="235"">USA</option>
<option value="206">Europe</option>
</select>
<span class="message">You selected USA!</span>
和脚本:
$(document).ready(function() {
$('#configoption[56]').change(function() {
var selectedValue = $('#configoption[56]').find(":selected").text();
if ( selectedValue == '235' ) {
$('.message').show();
} else {
$('.message').hide();
}
});
});
以上似乎对我不起作用,有什么建议吗?我也希望能够显示多个选定值的消息。
您的.change
函数是专门绑定到具有id="configoption[56]"
的元素的,因此只需在select
元素中添加id,如下所示
<select name="configoption[56]" id="configoption[56]" onchange="recalctotals()">
//Options
</select>
根据@ t.j.。克劳德关于无效selector
的建议,我想对id
做一点修改。您可以使用configoption56
作为id,并将select.change
写入如下:
<select name="configoption[56]" id="configoption56" onchange="recalctotals()">
<!--Options-->
</select>
.change
$('#configoption56').change(function() {
//other codes
});
$('#configoption[56]')
正在寻找具有 id
的元素,而不是 name
configoption[56]
(或者它将是,但选择器无效,您必须转义这些括号)。
使用名称:
$('select[name="configoption[56]"]')...
单独地,您可以只使用val
,您不必使用find
来获得所选选项。您还可以使用toggle
来显示/隐藏:
$(document).ready(function() {
$('select[name="configoption[56]"]').change(function() {
$('.message').toggle($(this).val() == '235');
});
});
关于基于||
和两个值的切换的评论:
$(document).ready(function() {
$('select[name="configoption[56]"]').change(function() {
var value = $(this).val();
$('.message').toggle(value == '235' || value == '123');
});
});
我应该这样做:http://jsfiddle.net/nmn17cr6/
HTML:<select name="configoption[56]" id="configoption" onchange="recalctotals()">
<option value="1">Dummy</option>
<option value="235">USA</option>
<option value="206">Europe</option>
</select>
<span class="message">You selected USA!</span>
CSS: .message {
display:none;
}
jQuery: $(document).ready(function() {
$('#configoption').change(function() {
var selectedValue = $(this).val();
if ( selectedValue == '235' ) {
$('.message').show();
} else {
$('.message').hide();
}
});
});
您的方法需要稍作修改。你只需要做这些改变
$(document).ready(function() {
$("select[name=configoption[56]]").change(function() { // change jquery selector for name
var selectedValue = $('#configoption[56]').val(); // and val to get the value
if ( selectedValue == '235' ) {
$('.message').show();
} else {
$('.message').hide();
}
});
});
和相同的jQuery
代码。下面必须是
<select name="configoption[56]" >
// onchange="recalctotals()"> was not required
相关文章:
- 如何通过选择器元素将图像添加到javascript下拉警报消息中
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 重力形式 显示来自下拉选择的消息
- 带有警告消息的日期选择器
- 如何在选择框值时显示消息
- 如果在指定日期内,则使用日期选择器显示警告消息
- 如何显示消息取决于下拉选择框的值是否为2或更高
- 删除消息选择打印机并使用javascript自动打印文档
- 如果我上传图像,'未选择任何文件'消息正在显示
- 选择的自定义验证消息
- 当我改变选择标记为什么不在输入id=“0”中显示数据时;消息”;
- 正在尝试在选择元素发生更改时向消息发出警报
- Jquery选择不显示data- paleholder消息
- 消息对话框用户选择Metro应用程序- JavaScript
- 当选择的下拉值为空时发出警告消息
- 展开我的当前功能以显示消息和更改选择
- 如何使用ActiveMQ ajax发送消息到特定的选择器
- 通过JSON消息创建的选项在select2标记中强制选择选项
- 我怎样才能得到我的选择呢?列表只在没有选择值时显示消息
- 这个脚本是如何工作的,为什么用户不能在开发人员工具中选择消息框来删除它