0

我在下面有这段代码,通过运行该getGrades函数来调用它。

function getGrades(grading_company) {
    // Set file to get results from..
    var loadUrl = "ajax_files/get_grades.php";

    // Set data string
    var dataString = 'gc_id=' + grading_company;

    // Set the callback function to run on success
    var callback = showGradesBox;

    // Run the AJAX request
    runAjax(loadUrl, dataString, callback);
}

function showGradesBox(response) {
    // Load data into grade field

    // Hide condition fields
    jQuery('#condition').hide();
    jQuery('#condition_text').hide();

    // Show grade fields
    jQuery('#grade_wrapper').show();
    jQuery('#grade_text_wrapper').show();    
}

function runAjax(loadUrl, dataString, callback) {
     jQuery.ajax({
        type: 'GET',
        url: loadUrl,
        data: dataString,
        dataType: 'html',
        error: ajaxError,
        success: function(response) {
            callback(response);
        }
    });    
}

现在你可以看到我将 AJAX 响应数据传递给showGradesBox函数;但是我现在不确定如何将其加载到现场。

我已经看到了使用示例,.load()但似乎您必须一次将其与 URL 一起使用;我遇到的唯一可能使用的其他功能是.html();但它的描述听起来不对!?

4

3 回答 3

1

.html()应该管用 ...

当 .html() 用于设置元素的内容时,该元素中的任何内容都会被新内容完全替换。此外,在用新内容替换这些元素之前,jQuery 从子元素中删除了其他结构,例如数据和事件处理程序。

function showGradesBox(response) {

  // Load data into grade field
  jQuery('#yourgradefieldID').html(response);

  // Hide condition fields
 jQuery('#condition').hide();
 jQuery('#condition_text').hide();


 // Show grade fields
 jQuery('#grade_wrapper').show();
 jQuery('#grade_text_wrapper').show();    

}
于 2013-01-07T10:48:50.407 回答
0

这会为您的回调分配一个“未定义”的值。

// Set the callback function to run on success
var callback = showGradesBox;

在像这样的函数之前尝试将函数分配给名为 showGradesBox 的变量

var showGradesBox = function(response) {
    // Load data into grade field

    // Hide condition fields
    jQuery('#condition').hide();
    jQuery('#condition_text').hide();

    // Show grade fields
    jQuery('#grade_wrapper').show();
    jQuery('#grade_text_wrapper').show();    
}

function getGrades(grading_company) {
    // Set file to get results from..
    var loadUrl = "ajax_files/get_grades.php";

    // Set data string
    var dataString = 'gc_id=' + grading_company;

    // Set the callback function to run on success
    var callback = showGradesBox;

    // Run the AJAX request
    runAjax(loadUrl, dataString, callback);
}

function runAjax(loadUrl, dataString, callback) {
     jQuery.ajax({
        type: 'GET',
        url: loadUrl,
        data: dataString,
        dataType: 'html',
        error: ajaxError,
        success: function(response) {
            callback(response);
        }
    });    
}
于 2013-01-07T10:43:51.437 回答
0

假设 ID 为 Grade_text 的字段并从 PHP 返回一个字符串:

function showGradesBox(response) {

  // Load data into grade field

  jQuery('#grade_text').val(response);

  // Hide condition fields
  jQuery('#condition').hide();
  jQuery('#condition_text').hide();


  // Show grade fields
  jQuery('#grade_wrapper').show();
  jQuery('#grade_text_wrapper').show();    

}
于 2013-01-07T10:40:32.877 回答