我想在另一个函数上访问我函数的返回布尔值。
$('.asset_edit').change(function(){
var asset_id=$(this).attr('id');
var asset=$("#"+asset_id).val();
var dataString = "device="+device+"&asset="+asset;
$.ajax({
type: "POST",
url: "<?php echo site_url('c_device/check_assetCode'); ?>",
data: dataString,
cache: false,
success: function(html){
if(html)
return true;
else
return false;
}
});
});
有没有办法可以访问我的“return true或return false” $(“。edit_tr”)。点击(function()功能?
在Javascript中你只需要调用某个函数名,但在jQuery中,我不知道如何。
答案 0 :(得分:1)
您可以使用全局变量;
var global_status;
$('.asset_edit').change(function(){
var asset_id=$(this).attr('id');
var asset=$("#"+asset_id).val();
var dataString = "device="+device+"&asset="+asset;
$.ajax({
type: "POST",
url: "<?php echo site_url('c_device/check_assetCode'); ?>",
data: dataString,
cache: false,
success: function(html){
if(html) {
global_status="true";
return true;
}
else {
global_status="false";
return false;
}
}
});
});
$(".edit_tr").click(function() {
alert(global_status);
})
以下是一个有效的演示: http://jsfiddle.net/vWkjr/1/
测试时,首先单击编辑并查看未定义,然后从选择框中选择值并单击编辑。
答案 1 :(得分:1)
在使用返回值的情况下,你可以添加一个指定html的类,而不是它自己的元素。或者你可以声明一个全局变量并为其赋值。
$('.asset_edit').change(function(){
var asset_id=$(this).attr('id');
var asset=$("#"+asset_id).val();
var dataString = "device="+device+"&asset="+asset;
$.ajax({
type: "POST",
url: "<?php echo site_url('c_device/check_assetCode'); ?>",
data: dataString,
cache: false,
success: function(html){
if(html)
$(this).addClass('ishtml');
else
$(this).addClass('nothtml');
}
});
});
可以使用其他功能访问此类。像
function somefunction(){
if($('.asset_edit .ishtml ').length){
//true then do something
}else{
//false then do something
}
}