如何在页面加载时触发onchange

时间:2016-01-28 22:39:13

标签: javascript ajax

我希望在我尝试执行$("#formtype").change();页面加载时触发更改事件但是它不起作用

<div class="form-group">
  <select name="form" id="formtype" class="form-control">
    <option value="A">Form A</option>
    <option value="B">Form b</option>
</select>

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
  $('#formtype').on('change', function () {
    //  alert( this.value ); // or $(this).val()
    if(this.value == "A") {
      $('#form1').show();
      $('#form2').hide();
    } else {
      $('#form1').hide();
      $('#form2').show();
    }
  }); 
</script>

4 个答案:

答案 0 :(得分:2)

不要试图诱骗DOM认为事件已经发生。如果要在页面加载时执行代码,只需执行它即可。像这样:

SELECT  TargetID,
        Priority_Column,
        Name,
        Value_Column
FROM    (SELECT t1.TargetID,
                t1.Priority_Column,
                t2.Name,
                t1.Value_column,
                ROW_NUMBER() OVER (PARTITION BY TargetID ORDER BY Priority_Column DESC) Rn
         FROM   Table1 t1
                JOIN Table2 t2 ON t1.TargetId = t2.ID
        ) t
WHERE   Rn = 1

答案 1 :(得分:1)

尝试在文档就绪事件的函数中执行此代码:

$("#formtype").trigger('change');

答案 2 :(得分:0)

为什么不把它想要在函数中运行的代码,然后调用该函数?这样的事情会起作用:

$('#formtype').on('change', function() {
  doStuff();
}); 

function doStuff() {
  if($('#formtype').val() == "A") {
    $('#form1').show();
    $('#form2').hide();
  } else {
    $('#form1').hide();
    $('#form2').show();
  }
}

$(document).ready(function() {
    doStuff();

})

在此处查看:https://jsfiddle.net/5jLx6q8b/

答案 3 :(得分:0)

您可以直接在事件的绑定中完成

https://api.cloud.appcelerator.com/v1/users/login.json?key=<YOUR APP APP KEY>&pretty_json=true

$('#formtype').on('change', function () { }).trigger("change");
相关问题