2017-02-16 34 views
-4

我已经在JS中编写了一个更改事件处理程序,但是我想将它内联编写在HTML中。我如何将下面的动作写成如onchange="javascript: function() { return false; };"这样的内联形式?如何编写内联事件处理程序?

function changed(element) { 
 
    if (element.value == 1 || element.value == 2) { 
 
    $(element).removeClass('hide').addClass('show'); 
 
    } 
 
}
<select class="chosen" name="content_media" style="width: 200px; display: none;" onchange="changed(this)" required=""> 
 
    <option value="default">--Select--</option> 
 
    <option value="0">Press Ad</option> 
 
    <option value="1">option1</option> 
 
    <option value="2">option2</option> 
 
    <option value="3">option3</option> 
 
    <option value="4">option4</option> 
 
    <option value="5">option5</option> 
 
    <option value="6">option6</option> 
 
    <option value="7">option7</option> 
 
</select>

+3

为什么在线的时候可以有事件处理程序jQuery是不正确的标签?内联 – guradio

+5

不直接回答您的问题,但不要使用内联事件处理程序。不显眼的事件处理程序*是更好的标准。 –

+0

不要使用内联样式... –

回答

0

由于您使用jQuery的最好是在js侧,而不是直列事件附加您的活动,如:

$('.chosen').on('change', function(){ 
 
    var selected_value = $(this).val(); 
 

 
    if (selected_value == 1 || selected_value == 2) 
 
    console.log(selected_value+' selected'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select class="chosen" name="content_media" style="width: 200px;" required=""> 
 
    <option value="default">--Select--</option> 
 
    <option value="0">Press Ad</option> 
 
    <option value="1">option1</option> 
 
    <option value="2">option2</option> 
 
    <option value="3">option3</option> 
 
    <option value="4">option4</option> 
 
    <option value="5">option5</option> 
 
    <option value="6">option6</option> 
 
    <option value="7">option7</option> 
 
</select>

希望这可以帮助。

0

你可以只写javascript代码,例如:

onchange="alert('Value was changed to ' + event.target.value);" 

这可能使你的代码混乱,但...

相关问题