如何在嵌套选择标记上应用更改事件

时间:2013-12-31 11:14:16

标签: javascript jquery

我如何在下面的选择选项上执行更改事件以及我需要做什么来禁用选择框。我无法更改代码中的任何内容,我在构建代码中使用了一些

<div id="status" class="leaf">
  <label class="control select" title>
      <span class="wrap">status</span>
    <select>
      <option value="active"></option>
        </select>
   </label>
</div>

感谢任何建议。

5 个答案:

答案 0 :(得分:1)

我假设您在代码中使用jQuery然后尝试这个。

$(document).on('click','#status select',function() {
    var selectedVal = $(this).val();
    $(this).prop({disabled:true});
});

答案 1 :(得分:1)

我以前做过这件事,它对我有用:

以下是更改HTML代码的最简单方法:

<select name="ab" onchange="if (this.selectedIndex) doSomething();">
    <option value="-1">--</option>
    <option value="1">option 1</option> 
    <option value="2">option 2</option>
    <option value="3">option 3</option>
</select>

使用鼠标选择和键盘向上/向下键可以选择聚焦。

不改变HTML CODE:

$( ".target" ).change(function() {
    alert( "Handler for .change() called." );
});

请检查此信息以获取有关此功能的更多信息:

http://api.jquery.com/change/

答案 2 :(得分:1)

为什么不用jQuery禁用它:

$("select").prop('disabled', true);

答案 3 :(得分:0)

您可以随时执行以下操作。但如果不止一个选择那么它将导致问题。

$( "select" ).change(function() {
    alert( "Handler for .change() called." );
});

<强>更新

刚才想到的另一种选择可能适合你。

$( "#status" ).find( "select" ).change(function() {
        var selectedVal = $(this).val();
        $(this).prop({disabled:true});
    });

答案 4 :(得分:0)

使用jquery:

$("select").change( function() {
  $(this).prop('disabled', true);
})

DEMO