选择选项时我需要一个事件触发器。 我使用“.change”使用下面的代码 但是在选择第一个选项时我遇到了问题。 如果用户选择第一个选项,则表示没有变化,对吧? 所以,下面的代码不起作用......
如何在“.change”旁边获得正确的事件触发器?
my.js
$(document).ready(function () {
$("#select-choice-2").change(function () {
...
})
答案 0 :(得分:2)
每次用户更改选项时都会运行一个功能(再次选择选定选项时的情况除外 - 它不会触发任何更改事件,因为输入中没有任何变化&#39 ; s值):
$(".myselect").change(function(){
if ($(this).val() == 1) {
console.log("First option selected");
}
});
当您希望用户提交表单而不更改任何内容时(例如,默认情况下选择第一个选项时),您可以在提交事件处理程序中使用简单的if语句:
$(".myform").submit(function(){
if($(".myselect").val() == 1) {
// do stuff
}
});
这可能会有所帮助,但正如@MrCode指出的那样,它通常通过放置<option val="" disabled selected>Please, select something</option>
来处理,因此用户需要单击并更改值。这将触发select input元素的change事件,因此您只需处理一次。
答案 1 :(得分:1)
这通常通过将“请选择”选项作为第一个选项来处理,这会强制用户更改选项并触发您的事件。
<select id="#select-choice-2">
<option value="">Please Select</option>
<option>First</option>
<option>Second</option>
</select>