如何将变量传递给jquery,然后在div中加载结果?

时间:2013-08-30 01:00:34

标签: jquery

我需要能够将链接中的变量传递给jquery,然后将结果加载到div中。我正在做的是下面,但它不适合我。我觉得我很亲密,但不是那么。

我搜索并发现了许多类似的问题,但没有一个是我正在寻找的。我下面的内容是这些搜索的结果,它不起作用,所以我做错了。

任何帮助?

jquery的:

<script type="text/javascript">
$(document).ready(function() { 

$.ajaxSetup ({
cache: false
});

$(function() {
    $('.dellink').click( function() {
        $.get( $(this).attr('href'), function() {
            // $('#eventlist').fadeIn('slow');
            $('#eventlist').load('/events/admin/eventlist.cfm');
     });
        return false; // don't follow the link!
    });
});

});
</script>

HTML:

<div>Item in a list of items I wish to delete...<a href="delevent.cfm?eventid=31" class="dellink"><img src="assets/images/delete.png" alt=""></a></div>

2 个答案:

答案 0 :(得分:2)

我会尝试这样的事情:

$(document).ready(function() {
  $('.dellink').on('click', function(e) {
    e.preventDefault();
    var url = $(this).attr('href');
    $.get(url, function(data) {
      $('#eventlist').load('/events/admin/eventlist.cfm');
    });
  });
}

答案 1 :(得分:1)

如果我理解正确,在你发出get请求之前,你需要更改#eventid#以获得一些真实id以传递给服务器端代码。

var url = $(this).attr('href').replace('#eventid#',someRealId);
$.get( url, function() {
    // $('#eventlist').fadeIn('slow');
    $('#eventlist').load('/events/admin/eventlist.cfm');
});

另一件事:您是否希望从第一个请求中收到一些数据?如果是这样,您需要在成功函数上显式放置参数。以下代码是http://api.jquery.com/jQuery.get/

的示例
$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});

我建议只提出一个删除请求,并在结果中收到更新的事件列表,因为正如您在下面的代码中所看到的,.load()很简单,就像上面.get()示例中的快捷方式一样。

$('.result').load('ajax/test.html', function() {
  alert('Load was performed.');
});

希望这有帮助。