2016-05-06 13 views
0

私はGoボタンで、次のhtmlドロップダウンメニューを持っています。最初の2つのオプション値を最初に選択してからGoボタンを押すとうまくいきますが、onclickイベントを持っている他の2つのオプション値では機能しません。 <option>タグでonclickイベントを処理する方法、それぞれの警告メッセージを実行することができます。私はそれがGoogle Chromeブラウザで動作する必要があります。前もって感謝します。onclickイベントがhtmlのオプションタグで機能していませんか?

<html> 
<head> 
<script> 
function third(){ 
alert("It is a third option event"); 
} 
function fourth(){ 
alert("Fourth option value"); 
} 
</script> 
</head> 
<form name="testform" id="testformid"> 
<select name="testdropdownmenu" > 
<option value="" selected>Please Select</option> 
<option value="https://www.w3schools.com">First Option</option> 
<option value="https://www.google.co.in">Second Option</option> 
<option onclick="third()">Third Option</option> 
<option onclick="fourth()">Fourth Option</option> 
</select> 
<input type="button" name="go" value="Go" onClick="location=document.testform.testdropdownmenu.options 
[document.testform.testdropdownmenu.selectedIndex].value;"> 
</form> 
</html> 

答えて

2

のjQuery

$(function(){ 
 
    $('#testdropdownmenu').on('change', function(){ 
 
    var val = $(this).val(); 
 
    if(val === 'third') { 
 
    alert('third option') 
 
    } 
 
    else if(val === 'fourth') { 
 
    alert('fourth option') 
 
    } 
 
    }) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<form name="testform" id="testformid"> 
 
<select name="testdropdownmenu" id="testdropdownmenu"> 
 
<option value="" selected>Please Select</option> 
 
<option value="https://www.w3schools.com">First Option</option> 
 
<option value="https://www.google.co.in">Second Option</option> 
 
<option value="third">Third Option</option> 
 
<option value="fourth">Fourth Option</option> 
 
</select> 
 
<input type="button" name="go" value="Go" onClick="location=document.testform.testdropdownmenu.options 
 
[document.testform.testdropdownmenu.selectedIndex].value;"> 
 
</form>

JavaScriptの

function checkval() { 
 
    var val = document.getElementById('testdropdownmenu').value 
 
    alert(val); 
 
}
<form name="testform" id="testformid"> 
 
    <select name="testdropdownmenu" id="testdropdownmenu"onchange="checkval()"> 
 
    <option value="" selected>Please Select</option> 
 
    <option value="https://www.w3schools.com">First Option</option> 
 
    <option value="https://www.google.co.in">Second Option</option> 
 
    <option value="third">Third Option</option> 
 
    <option value="fourth">Fourth Option</option> 
 
    </select> 
 
    <input type="button" name="go" value="Go" onClick="location=document.testform.testdropdownmenu.options 
 
    [document.testform.testdropdownmenu.selectedIndex].value;"> 
 
    </form>

selectでonchangeイベントを使用し、その値を比較します。

+0

ご協力いただきありがとうございます。それは私の要件に役立ちます。 – Nag

+0

AngularJS ng-changeイベントで同じことをする機会はありますか? – Nag

0

onclick属性は、optionタグではサポートされていません。より良いのonFocusを使用しようとする '選択' タグだけ

<html> 
<head> 

<script> 

function changeValue() { 
    //get selected value 
} 
</script> 
</head> 
<form name="testform" id="testformid"> 
<select name="testdropdownmenu" onchange="changeValue();" > 
<option value="" selected>Please Select</option> 
<option value="https://www.w3schools.com">First Option</option> 
<option value="https://www.google.co.in">Second Option</option> 
<option >Third Option</option> 
<option >Fourth Option</option> 
</select> 
<input type="button" name="go" value="Go" onClick="location=document.testform.testdropdownmenu.options 
[document.testform.testdropdownmenu.selectedIndex].value;"> 
</form> 
</html> 
0

上のonchange機能を使用し、トリガするときの要素のユーザーフォーカス

1

オプションタグの "onclick"イベントをトリガすることはできません。代わりに、selectタグの "onchange"イベントを使用することができます。

0

onclickは、代わりに、あなたのケースのためのonchangeを使用する必要がありますselect > option

に取り付けるための適切なイベントではありません。 onchangeは、選択ボックスの値を変更するたびに発生します。そしてあなたの関数でクリックして呼び出されると、2番目と3番目のものが何かをしているかどうかを確認することができます。 HTMLで

:以下のコードをチェックし

<select id="testdropdownmenu" onchange="myFunction()"> 

とJavaScriptで:

function myFunction() { 
    var favValue = document.getElementById("testdropdownmenu").value; 
    // Do something your favourite value appears here 
    alert(favValue); 
} 

・ホープ、このことができます!

関連する問題