Как перебрать строку с разделителями, возвращенную запросом jQuery AJAX - PullRequest
3 голосов
/ 30 марта 2011

Итак, следующий jQuery отправляет некоторые значения в скрипт PHP и возвращает строку с запятой:

$.ajax({
    type: "POST",
    url: "_js/changetags.php",
    dataType:'json',
    success: function(data){

        arr = data.tagsinserted.split(',');

        $.each(arr, function(n, val){
            // toggle here
        });
    }
});

Я пытаюсь поместить следующий код в цикл, чтобызначение строки с разделителями используется для включения / выключения класса:

$("#id_"+delimitedvalue).toggleClass("off on");
element.toggleClass("off on");

В результате весь пакет элементов на странице включается / выключается вместе, если запрос AJAX был успешным.

Но я не могу заставить код работать.Я не знаю, как назначить возвращенные значения с разделителями для функции переключения.Также я подозреваю, что есть лучший способ сделать это и хотел бы услышать любые идеи!

Ответы [ 2 ]

9 голосов
/ 30 марта 2011

Я думаю, вы ищете что-то вроде этого:

$.ajax({
    type: "POST",
    url: "_js/changetags.php",
    dataType:'json',
    success: function(data){
        var arr = data.tagsinserted.split(',');

        for(var i = 0; i<arr.length; i++){
            //Bad idea to use .each(), much slower in this case
            $("#id_"+arr[i]).toggleClass("off on");
            element.toggleClass("off on");
        }
    }
});

Кроме того, мы могли бы помочь больше, если бы вы дали нам пример того, что changetags.php отвечает ...

0 голосов
/ 30 марта 2011

Вы пробовали это:

$.each(arr, function(n, val) {
    $('#id_'+val).toggleClass('off on');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...