我将html下拉列表定义为
<select name="evidence_selected"id="evidence_selected">
<option id="a">A</option>
<option id="b">B</option>
<option id="c">C</option>
<option id="new">New</option>
</select>
我想点击“new”上的点击事件,以便当用户点击它时,会出现一个免费表单,他们会输入一些不在下拉列表中的其他值。 表单的id是“new_value”。 我试过了
$("#new").click(function(){
$("new_value").show();
});
似乎点击事件不会触发。 任何帮助(带代码片段)都将受到高度赞赏。 此致
答案 0 :(得分:2)
选择使用更改事件
$('select').change(function () {
if ($(this).val() === 'New') {
// Handle new option
}
});
只要选择了任何选项,就会触发。
答案 1 :(得分:0)
我建议做这样的事情:
$('#evidence_selected').change(function(){
if($(this).val() == "New"){
$("#new_value").show();
} else {
$("#new_value").hide();
}
});
<强> JSFiddle Demo 强>
这样,当select的值发生变化时会触发该函数,但如果选择了#new_value
选项,它只会显示<option id="new">New</option>
...
如果您的表单ID为new_value
,则应将其引用为$("#new_value").show();
而不是$("new_value").show();
(您缺少#
)
答案 2 :(得分:0)
试试这个:
<强> HTML 强>
<select name="evidence_selected" id="evidence_selected">
<option id="a">A</option>
<option id="b">B</option>
<option id="c">C</option>
<option id="new">New</option>
</select>
<强> JS 强>
$("#evidence_selected").change(function(){
if($(this).val()=="new"){
$("new_value").show();
}
});
答案 3 :(得分:0)
$("#evidence_selected").on('change', function() {
var optionId = $('option:selected', this).attr('id');
if(optionId === 'new') {
// your action here
}
});