Передать значение на другую страницу с помощью jquery - PullRequest
0 голосов
/ 08 октября 2010

это мой первый пост здесь. У меня проблема с моим скриптом jquery. Моя цель - мне нужно отправить значения определенной ссылки на другую страницу, чтобы другая страница могла использовать это значение. Я думаю, что использование ajax post может сделать работу, но я не могу получить никакого результата. Вот мой код:

$(function() {
    var myLink = $('#link');

    $('.class').click(function() {
        var cell1 = $(this).closest('tr').find('td:eq(4)').text();
        var cell2 = $(this).closest('tr').find('td:eq(3)').text();
        var cell3 = $(this).closest('tr').find('td:eq(2)').text();

        var data = 'cell1=' + cell1 + '&cell2=' + cell2 + 'cell3=' + cell3;

    });
});

Итак, я хочу знать, как я могу отправить это значение на другую страницу, просто щелкнув ячейку таблицы с помощью сообщения ajax Я хочу, чтобы открыть его в новом окне.

Я надеюсь, что вы можете помочь мне с этим, большое спасибо заранее. ;)

Ответы [ 2 ]

0 голосов
/ 08 октября 2010

Данные в URL должны быть правильно экранированы.Я предлагаю вам сохранить его в объекте и позволить jQuery позаботиться о грязных деталях:

// Untested
var tr = $(this).closest('tr');
var data = {
    cell1: tr.find('td:eq(4)').text(),
    cell2: tr.find('td:eq(3)').text(),
    cell3: tr.find('td:eq(2)').text()
};

Затем выберите вашу любимую функцию AJAX и добавьте в нее свой объект.

Обновление

$('.class').click(function() {
    var tr = $(this).closest('tr');
    var url = 'other-page.html';
    var data = {
        cell1: tr.find('td:eq(4)').text(),
        cell2: tr.find('td:eq(3)').text(),
        cell3: tr.find('td:eq(2)').text()
    };

    $("#load-stuff-here").load(url, data);
});
0 голосов
/ 08 октября 2010

Если вы публикуете значения, вам придется хранить их на стороне сервера, пока не дойдете до другой страницы, другой способ сделать это будет следующим (при условии, что #link - это ссылка)

$(function() {
    var myLink = $('#link');

    $('.class').click(function() {
        var cell1 = $(this).closest('tr').find('td:eq(4)').text();
        var cell2 = $(this).closest('tr').find('td:eq(3)').text();
        var cell3 = $(this).closest('tr').find('td:eq(2)').text();

        var data = 'cell1=' + cell1 + '&cell2=' + cell2 + 'cell3=' + cell3;
        var baseUrl = "some.page.php" //could be anything
        myLink.attr('href',baseUrl+"?"+data).click();
    });
});

Теперь, чтобы открыть его в новом окне, вы можете использовать старое решение target="_blank"#link или поискать другие более подходящие способы javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...