[英]JQuery change event only fire when the page is not fully loaded and fail to fire when page is fully loaded
我的網頁使用了大量的jquery腳本,我根據狀態輸入字段中的輸入來預填充位置字段,並使用一些警報來確保觸發on change事件。 但是我注意到該事件僅在網頁加載時觸發,而在網頁完全加載后才觸發。
這是URL的: http : //mmarket.vas2nets.com/request.php和http://mmarket.vas2nets.com/register.php
我猜我的腳本中有些沖突,我們將不勝感激。
注意:請不要介意我的冗長腳本,這是為了使您能夠透視它。
<head>
//load the jquery script and test the function.
<script src='http://code.jquery.com/jquery-latest.min.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
$("div.span3 #state").change(function(){
var data = $("div.span3 #state").serialize();
alert(data);
$.ajax({
url : 'populateLocation.php',
type : 'POST',
data : data,
success:function(data){
$('#location').html(data)
}
})
});
});
</script>
</head>
<body>
<div id="wrapper">
<section class="container">
<div class="dynamicContent">
<div class="inner">
<div class="row">
<div class="span8 offset2">
<header>
<h2>Provider's Registration</h2>
</header>
<div>
<div>
<div class="outside">
<div class="">
<div>
<div class="row">
<div class="span3 offset1">
<dl class="dl-horizontal">
<dt>m</dt>
<dd>
<p>M-Market</p>
<p><a href="#" class="btn btn-link">more<span></span></a></p>
</dd>
</dl>
</div>
<div class="span3">
<form name="register" id="register" method="post" class="form_login" action="">
<label name="username">NAME</label>
<input type="text" name="name" id="name"/>
<label name="phone">MOBILE NUMBER</label>
<input type="text" onfocus="if(this.value =='2348XXXXXXXX' )
this.value=''" onblur="if(this.value=='')
this.value='2348XXXXXXXX'" value="2348XXXXXXXX" name="phone"/>
<label name="password">PASSWORD</label>
<input type="password" name="password" id="password"/>
<label name="password2">RETYPE PASSWORD</label>
<input type="password" name="password2" id="password2"/>
<label>SERVICE</label>
<select name="provider" id="provider">
<option value="">Select Your Service</option>
<?php echo $service_fields; ?>
</select>
<label>STATE</label>
<select id ="state" name="state">
<option value='0'>--- SELECT STATE------</option>
<?php echo $state_fields; ?>
</select></div>
<label>LOCATION</label>enter code here
<select id='location'> </select>
對於需要加載頁面的組件,請使用$(window).load()
而不是$(document).ready()
。
這樣做是完全合理的:
$(window).load(function() {
// code that requires the page to be loaded
});
$(document).ready(function() {
// other code
});
$(window).load()
等待所有元素,包括圖像,而$(document).ready()
僅等待基本DOM元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.