2017-06-09 8 views
2

選択オプションが選択されている場合、イベントトリガーが必要です。 は、私が「.change」 を使用してコードの下に使用しますが、最初のオプションを選択したとき、私は、問題に会いました。 最初のオプションを選択した場合、変更がないことを意味します。 ので、コードの下に、私は「.change」の横に右イベントトリガを取得できますか...jqueryで最初に選択したイベントを取得する方法は?

動作しませんか?

my.js

$(document).ready(function() { 
    $("#select-choice-2").change(function() { 
     ... 
}) 
+0

ユーザーは、それは私が最初のオプションを含むすべてのオプションを選択するためのイベントトリガーどの作業が必要 – guradio

+0

を変更存在することを意味選択最初のオプション.. – toyaji

+1

を選択すると、その後、おそらくあなたはそう簡単に-1 – Icepickle

答えて

2

これは、ユーザーが(選択したオプションが再び選択された状況を除いて - 入力の値に変化はありませんように、それは、任意の変更イベントをトリガしません)オプションを変更するたびに関数を実行します:

$(".myform").submit(function(){ 
    if($(".myselect").val() == 1) { 
     // do stuff 
    } 
}); 
:ステートメントは、内部のイベントハンドラを提出する場合は、単純なを使用することができます
$(".myselect").change(function(){ 
    if ($(this).val() == 1) { 
     console.log("First option selected"); 
    } 
}); 

あなたは(第一オプションはデフォルトで選択されている場合など)何も変更せずにフォームを送信するユーザーを期待3210

は、これはおそらく役立ちますが、@MrCodeが指摘したように、ユーザーがクリックして、値を変更する必要があるので、それは通常、<option val="" disabled selected>Please, select something</option>を置くことによって処理されます。これにより、select入力要素のchangeイベントがトリガーされるので、一度だけ処理できます。

+0

レッツ、* A *がデフォルトで選択されたオプションありがとうございました。その後、ユーザーがオプション* A *を再度選択すると、[変更](https://api.jquery.com/change/)イベントは発生しません。 – Alexander

+0

Tatがなぜ事前定義された無効なオプションに適しているのかまた、あなたは正しい選択肢A. –

+0

を扱うことになる第二の方法(提出コールバックと1)が存在することに、注意してください。あなたは私のdownvoteを削除できるように質問のいくつかの編集を行うことができますか? – Alexander

1

これは通常、オプションを変更するには、ユーザーを強制して、イベントがトリガされます最初のオプションとして、「選択してください」オプションを置くことによって処理されます。

<select id="#select-choice-2"> 
    <option value="">Please Select</option> 
    <option>First</option> 
    <option>Second</option> 
</select> 
+0

は〜私はそのように想像することはありません... – toyaji