[英]Click event on page load on a Select tag
I have a select tag with 4 options. 我有一个带有4个选项的选择标签。 I want to get a particular option clicked when the page loads and a method should called because of click event.
我想在页面加载时单击特定的选项,并且由于click事件应调用一个方法。 Here what I have tried so far:
这是我到目前为止尝试过的:
<select>
<option >Select an option...</option>
<option >Option 1</option>
<option >Option 2</option>
<option >Option 3</option>
<option id="lop" onclick="myFunction()">Option 4</option>
</select>
$(document).ready(function(){
$("#lop").trigger("click");
function myFunction(){
alert("hi");
}
});
You could try that: 您可以尝试:
$(document).ready(function(){ var opt = $("#a").val(); if (opt == 4) { myFunction(); } function myFunction(){ alert("hi"); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option value=''>Select an option...</option> <option value=1>Option 1</option> <option value=2 >Option 2</option> <option value=3>Option 3</option> <option id="a" value=4>Option 4</option> </select>
This might help you, you should trigger a change event on select to trigger after the page load, 这可能对您有帮助,您应该在select上触发一个change事件,以在页面加载后触发,
$(document).ready(function(){ $("#lop").trigger("click"); $('select').on('change', function(){ var val= $(this).val(); if(val == 4) myFunction(); }) }); function myFunction(){ alert("hi"); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <select> <option value=''>Select an option...</option> <option value=1>Option 1</option> <option value=2 >Option 2</option> <option value=3>Option 3</option> <option id="lop" onclick="myFunction()" value=4>Option 4</option> </select>
You need to use on change
like below 您需要使用如下所示的
on change
$(document).ready(function(){ alert(this.value); $('.selectList').on('change', function(){ alert(this.value); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="selectList"> <option value=''>Select an option...</option> <option value=1>Option 1</option> <option value=2 >Option 2</option> <option value=3>Option 3</option> <option id="lop" onclick="myFunction()" value=4>Option 4</option> </select>
Please change your Js with the following code: 请使用以下代码更改您的Js:
$(document).ready(function(){
function myFunction(){
alert("hi");
}
$("#myselect").change(function() {
var opt = $(this).val();
if(opt == '4'){
myFunction();
}
});
var opt1 = $("#myselect").val("4");
if(opt1){
myFunction();
}
});
And remove onclick function from your option 并从您的选项中删除onclick函数
<select id="myselect">
<option value=''>Select an option...</option>
<option value=1>Option 1</option>
<option value=2 >Option 2</option>
<option value=3>Option 3</option>
<option id="lop" value=4>Option 4</option>
</select>
Shortest way do this: 最简单的方法是:
$(window).load(function(){ $('select').val('3').trigger('change'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option value=''>Select an option...</option> <option value=1>Option 1</option> <option value=2 >Option 2</option> <option value=3>Option 3</option> <option id="lop" onclick="myFunction()" value=4>Option 4</option> </select>
Simply You can set the value of Select option dynamically like this 只需您可以像这样动态设置Select选项的值
$(document).ready(function(){
$("#selectInp").val(4);
});
With HTML Provide an Id to your Select 使用HTML为您的选择提供ID
<select id="selectInp">
<option value=''>Select an option...</option>
<option value=1>Option 1</option>
<option value=2 >Option 2</option>
<option value=3>Option 3</option>
<option id="lop" onclick="myFunction()" value=4>Option 4</option>
Updated fiddle: https://jsfiddle.net/j9o6ra3x/514/ 更新的小提琴: https : //jsfiddle.net/j9o6ra3x/514/
OR If you want to work as your Solution Simply, 或者如果您想简单地用作解决方案 ,
$("#lop").trigger("click"); // Instead of
$("#lop").prop('select',true); // Put this on ready
enter code here 在这里输入代码
Do this: 做这个:
$(document).ready(function(){ $("#mySelect").click(function(){ var opt = $("#mySelect option:selected").val(); if (opt == 4) { myFunction(); } }); function myFunction(){ alert("hi"); } });
<select id="mySelect"> <option value=''>Select an option...</option> <option value=1>Option 1</option> <option value=2 >Option 2</option> <option value=3>Option 3</option> <option value=4>Option 4</option> </select>
https://jsfiddle.net/j9o6ra3x/491/ https://jsfiddle.net/j9o6ra3x/491/
You can use change
event to achieve the functionality you desire. 您可以使用
change
事件来实现所需的功能。
using .change() 使用.change()
$('#lop').change(function(){
//your function
})
using .bind() 使用.bind()
$('#lop').bind('change',function(){
//your function
});
Then you can trigger change on page load: 然后,您可以触发页面加载更改:
$(function () {
$("select#myselect").change();
});
<select id='selectInp' size='<?php echo $prod_count;?>' onclick='window.loadStates()' class='form-control' name='categ'><li><option id='toate' value='999'>Toate produsele</option>
$(document).ready(function(){
$("#selectInp").val(999);
$("#toate").trigger("click");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.