2 つのアンカー タグがあります。
<a class="location" id="colorado" name="Colorado" href="#">co</a>
<a class="location" id="colorado" name="Colorado" href="#">co</a>
これらのいずれかがクリックされたときに、関数を一度だけ実行したい。jQuery で .one() を見てきましたが、これを機能させることができません。私がやってclick()
いることは、ID 属性を取得し、それを変数に格納することです。次に、その変数を使用して入力フォームに入力しています。アンカータグは両方ともクラス「場所」を持っているため、関数は「場所」クラスのすべてのインスタンスに対してこれを行うようです。
$(document).ready( function() {
$('.location').click(function() { //when any a tag with class of location is clicked...
var clickedId = $(this).attr("id"); //set the ID attribute into var clickedID
$("#addressInput").val(clickedId); //set value of this input field
setTimeout( function() {
$("#addressSubmit").click(); //submit the form after 1 second of the initial click
}, 1000);
});
});
これを設定して、場所のクラスを持つアンカータグをクリックするといつでも機能しますが、「場所」のクラスを持つすべてのものに対して繰り返されるわけではありませんか?