jquery, флажки внутри вложенного div onclick показать / скрыть отправить - PullRequest
0 голосов
/ 31 января 2011

У меня есть страница с серией div-ов в системе корзины покупок.Каждый из них является продуктом, при установке флажка, если есть доступные варианты и / или флажок подтверждения, который необходимо подтвердить перед отправкой формы, затем оставьте кнопку скрытой и покажите элемент div с другим флажком, если этот флажок, если существует, установлентогда покажи кнопку.Функция show hide для каждого элемента div работает должным образом (существующий код), поэтому я пытаюсь создать функцию, которая будет вызываться внутри этой функции для события onclick.

, где возникает моя проблема, это проверка на наличие другойфлажок [показанный в примере как (tmpId == "Подтверждение")] существует и что он проверяется также до того, как они увидят кнопку отправки, если не показывает кнопку отправки.Это должно работать для каждого продукта, который они нажимают на первый флажок [т.е. ("id= "+feeSID+"_checkbox")] ... $("#ocContainer") - это скрытый контейнер (с отправкой), который показывает, установлены ли соответствующие флажки ... для каждого выбранного продукта.

первая часть каждого идентификатора является переменной, сгенерированной запросом sql и переданной функции. Моя функция:

var feeSID = "";
var feeVAL = "";
var pop = "";

function countChecked(feeSID) {
    var n = $("input:checked").val();
    var tmpId = $(this).attr("name");
    if (tmpId == "acknowledge") {
        console.log("acknowledge Clicked <br />");
    } else {
        feeVAL = $(this).attr("id");
    }
    if (feeVAL == '') {
        return;
    } else {
        if ($("#" + feeSID + "_checkbox:checked")) {
            console.log("id= " + feeSID + "_checkbox");
            var pop = $("#" + feeSID + "_popup").length;
            if (pop > 0) {
                $(":checkbox").click(function () {
                    if (tmpId == "acknowledge") {
                        $("#ocContainer").show();
                    }
                });
            } else {
                $("#ocContainer").show();
            }
        }
    }
}

Надеюсь, мое объяснение было ясным.Я получаю сообщение об ошибке:
uncaught exception: Syntax error, unrecognized expression: #[object Object]_popup

Ответы [ 2 ]

0 голосов
/ 01 февраля 2011

Ошибка была вызвана тем, что я пытался использовать Obj как часть моего селектора.Как указал Адам Пракс

var pop = $("#"+feeSID+"_popup").length;

В какой-то момент в моем коде feeSID назначается объекту.Я решил это, переопределив переменную или объект как строку перед тем, как снова получить к нему доступ, используя new String(feeSID);
. Это решило проблему.Я надеюсь, что это поможет кому-то еще, все, что я смог найти в Google, указывает на использование синтаксиса @name="name", который больше не является допустимым синтаксисом в jQuery.

0 голосов
/ 31 января 2011

Я думаю, что исключение может быть вызвано этой строкой в ​​вашем коде:

 var pop = $("#"+feeSID+"_popup").length;

В какой-то момент в вашем коде feeSID назначается объекту. Итак, вы пытаетесь использовать объект как часть вашего селектора, а не как строку. Вы должны убедиться, что feeSID является строкой, а не объектом, прежде чем пытаться использовать его как часть селектора.

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