在html选择标记中的选项上添加click事件

时间:2014-05-26 15:22:23

标签: 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>

我想点击“new”上的点击事件,以便当用户点击它时,会出现一个免费表单,他们会输入一些不在下拉列表中的其他值。 表单的id是“new_value”。 我试过了

$("#new").click(function(){
  $("new_value").show();

});

似乎点击事件不会触发。 任何帮助(带代码片段)都将受到高度赞赏。 此致

4 个答案:

答案 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();
    }
});

fiddle

答案 3 :(得分:0)

$("#evidence_selected").on('change', function() {
  var optionId = $('option:selected', this).attr('id');
  if(optionId === 'new') {
      // your action here
  }
});