jquery怎么选取ajax加载的元素,Jquery获取AJAX加载元素的值

我有一个带有2个选择框的页面,其中一个通过AJAX调用加载。然后我想在启用提交按钮之前用jQuery验证元素。当我更改静态选择(strDirectorate)时,jquery可以正常工作,但当我更改由AJAX(new_cc)加载的jquery时,工作正常。Jquery获取AJAX加载元素的值

是否因为jquery获取new_cc的值与加载页面时的值相同?

><?php echo $row_rsLocality['strLocalityLong']?>

} while ($row_rsLocality = mysql_fetch_assoc($rsLocality));

$rows = mysql_num_rows($rsLocality);

if($rows > 0) {

mysql_data_seek($rsLocality, 0);

$row_rsLocality = mysql_fetch_assoc($rsLocality);

}

?>

功能getNewCostCentre是

function getNewCostCentre(str)

{

if (str=="")

{

document.getElementById("txtNewCostCentre").innerHTML="";

return;

}

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

document.getElementById("txtNewCostCentre").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","getNewCostCentre.php?q="+str,true);

xmlhttp.send();

}

为getNewCostCentre.php的代码是

$sql="SELECT * FROM `tblcostcentreorganisation` WHERE `strOrganisation` LIKE '363 ".addslashes($dir)."%'";

$result = mysql_query($sql);

if(isset($_GET["q"])){

$display_string = '';

$display_string .= '';

}else{

$display_string = '';

}

while($row = mysql_fetch_array($result))

{

$cc = substr($row['strCostCentre'], 3, strlen($row['strCostCentre'])-3) . " " . substr($row['strOrganisation'], 3, strlen($row['strOrganisation'])-3);

$org_name = $row['strOrganisation'];

if ($org == $org_name){

$display_string .= ''.$cc.'';

}else{

$display_string .= ''.$cc.'';

}

}

$display_string .= '';

echo $display_string;

而jquery的验证是:

$(document).ready(function() {

$('.selectfield select').change(function() {

var empty = false;

$('.selectfield select').each(function() {

$(this).css("background-color", "#FFFFFF");

if ($(this).val().length == 0) {

$(this).css("background-color", "#F8E0E0");

empty = true;

}

});

if (empty) {

$('.actions input').attr('disabled', 'disabled');

} else {

$('.actions input').removeAttr('disabled');

}

});

});

的的onload代码是作为如下。我认为这是因为我在(。)之后使用了.load .onload?

$(document).ready(function(){

window.onload = function(){

//Load directorate, cost centre and position

if ($('#hid_stage').val() == "Rejected") {

var str = $('#hid_criteria').val();

strencoded = encodeURIComponent(str);

$('#txtNewCostCentre').load("getNewCostCentre.php?cr="+strencoded);

$('#txtNewPosition').load("getNewPosition_ba.php?cr="+strencoded);

}

var empty = false;

$('.selectfield select').each(function() {

$(this).css("background-color", "#FFFFFF");

if ($(this).val().length == 0) {

$(this).css("background-color", "#F8E0E0");

empty = true;

}

});

if (empty) {

$('.actions input').attr('disabled', 'disabled');

} else {

$('.actions input').removeAttr('disabled');

}

}

});

2013-07-14

Dion

+0

为什么'getNewCostCentre()'不能用jQuery的AJ来完成AX功能?如果你包括jQuery的,使用它 –

+0

公平一点 - 因为我在以后的日子加入jQuery的。我应该修改它以使用jQuery AJAX。它并不回答我的问题(或者是否)? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值