Javascript 在html选择标记中的选项上添加单击事件
我有一个html下拉列表,定义为Javascript 在html选择标记中的选项上添加单击事件,javascript,jquery,html,Javascript,Jquery,Html,我有一个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>
<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>
似乎点击事件不会触发。
如有任何关于代码片段的帮助,我们将不胜感激。
关于选择使用更改事件
$('select').change(function () {
if ($(this).val() === 'New') {
// Handle new option
}
});
这将在选择任何选项时触发。我建议改为执行以下操作:
$('#evidence_selected').change(function(){
if($(this).val() == "New"){
$("#new_value").show();
} else {
$("#new_value").hide();
}
});
这样,当select的值更改时,该函数将被触发,但仅当选择了new选项时,该函数才会显示new_值
此外,如果表单的ID为new_value,则应将其引用为$new_value.show;而不是$new_value.show;您缺少尝试以下方法:
html
您可以在“选择并检查新选项”上使用“更改”事件。您应该关注“选择”标记:选项标记没有单击事件的事件处理程序这里的$new\u值是什么?OP已经在他的问题中提出了这个问题。它可以是他想要的任何东西。可能是一个id,可能是一个元素。。。我已经更新了AnswerIf语句。如果您的语句导致语法错误。轻微的输入错误。。。更正。。。谢谢大家,这是我从gurudeb$execution_selected中得到的最终解决方案。在'change'上,函数{var optionId=$'option:selected',this.attr'id';ifoptionId==='new'{//your action here};
$('#evidence_selected').change(function(){
if($(this).val() == "New"){
$("#new_value").show();
} else {
$("#new_value").hide();
}
});
<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>
$("#evidence_selected").change(function(){
if($(this).val()=="new"){
$("new_value").show();
}
});
$("#evidence_selected").on('change', function() {
var optionId = $('option:selected', this).attr('id');
if(optionId === 'new') {
// your action here
}
});