2015-09-09 2 views
0

не решаемые:Карта Jquery не будет извлекать выбранные параметры; всегда пусто? Появляется, чтобы пропустить переменные, работает на jsfiddle, нет консольных ошибок

Final скрипки:

http://jsfiddle.net/AcfUz/220/

* используется селектор указан в выбранном ответе и передвинул console.log значения перед вводом текста выбранные параметры должны были быть перечислены и стрелы - работайте так, как надо!

Пожалуйста, ссылается на эту скрипку:

http://jsfiddle.net/AcfUz/218/

jQuery(document).on('click', '#go', function() { 
    console.log("woo"); 
    var selMulti = jQuery.map(jQuery("#inf_custom_Choosealocation_select :selected"), function(e) { 
     return jQuery(e).val(); 
     console.log("hoo"); 
    }); 
    //var selMulti = jQuery("#inf_custom_Choosealocation_select :selected").val(); 
    console.log(selMulti + "hmm..."); 
    console.log("hootie"); 
    //jQuery("#inf_custom_Choosealocation").val(selMulti.join(", ")); 
    jQuery("#inf_custom_Choosealocation").val(selMulti); 
    console.log("who"); 
}); 

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

Может ли кто-нибудь пролить свет в мой час отчаяния? Прошло 7 часов, и мне нужно решить это до утра.

Я предполагаю, что для этого расширится - код в скрипке - это код, который я указываю на сайте. Форма, а затем скрипт перед закрывающим тегом тела. Форма динамически загружается (занимает около секунды). То, что мне нужно выполнить, - это захват любых значений, которые пользователь выбирает из любого из нескольких полей выбора (я начинаю с этого), и копировать их как список, разделенный запятыми, в другой текстовый ввод одной строки. Скрипка великолепно работает, но я не знаю, что происходит на сайте. Я просто возвращаю пустое/пустое - это не дает мне никаких консольных ошибок, которые когда-либо (за исключением отсутствующего img), и я могу видеть контрольные точки console.log.

Вот живая ссылка:

http://goo.gl/ll1Hz4

+0

вы должны вставить ссылку – flcoder

+0

http://jsfiddle.net/AcfUz/218/ – WorkingMan8798

+0

Прошу прощения за плохое форматирование; это была долгая ночь – WorkingMan8798

ответ

2

На живом сайте, если я пытаюсь $("#inf_custom_Choosealocation_select option") в консоли, опции перечислены в два раза. С возвращением .(хотя я не видел 2 экземпляра в источнике страницы) ($("#inf_custom_Choosealocation_select"); возвращает один, но использует getElementbyID и пропускает поиск). Возможно, второй выбор создается каким-то наложением?

В общем, я больше не искал, откуда пришел второй выбор. Быстрое исправление будет заключаться в использовании селектора, который ищет этот атрибут. Следующий селектор работал во время тестирования на реальном сайте:

$("select[id=inf_custom_Choosealocation_select] :selected") 

Но это может быть только временная работа. Вы, вероятно, захотите также найти преступника для выбора призрак;)

+0

Hazza! Это действительно вытащило выбранные значения! Работа над вторичной копией ... – WorkingMan8798

0

Попробуйте оборачивать код внутри

jQuery(document).ready(function(){}); 
+0

Я ценю вход; это, похоже, не повлияло – WorkingMan8798

0

Вы не используете карту JQuery в скрипке, где, как у вас есть Jquery карта в вашем прямом коде ...

Попробуйте обновить ваш сайт с помощью кода, который у вас есть в скрипке.

Живой код: (есть карта JQuery)

enter image description here

+0

Спасибо. Я дважды проверил. Код, который находится в скрипке, - это код, который также вызывается в живой версии. Я не могу сказать, что его нарушает. – WorkingMan8798

+0

Боюсь, это не так. Я вижу, что на вашем живом сайте, на странице html с заголовком «Шаг 6 | Австралийский рабочий пакет», в конце у вас есть событие щелчка кнопки «пойти», а код отличается от того, который вы предоставили в скрипаче. Вышеприведенный снимок экрана взят с вашего веб-сайта. –

+0

Я ценю усердие; Я еще раз проверю - мои извинения. – WorkingMan8798

0

Так что, да, я не знаю, почему: выбран не работает в вашем случае, но вы можете попробовать пройти варианты и проверка вручную ... jQuery("#inf_custom_Choosealocation_select option").each(function(i, o){ console.log(o.selected) })

+0

Живая проблема связана с jQuery, не соответствующей: выбранным параметрам, потому что jQuery ("# ​​inf_custom_Choosealocation_select: selected") ничего не дает. Но я не уверен, почему так происходит вживую. – flcoder

0

Вместо использования

var selMulti = jQuery.map(jQuery("#inf_custom_Choosealocation_select :selected"), function(e) { 
    return jQuery(e).val(); 
    console.log("hoo"); 
}); 

использование

var selMulti=jQuery("#inf_custom_Choosealocation_select").val(); 
+0

Не работает ... перейдите на сайт live и введите консоль: jQuery ("# ​​inf_custom_Choosealocation_select"). Val() ;, вы получите null. Я предполагаю, что что-то нарушает параметры: выбрано, и я предполагаю, что .val() on selects полагается на них: выбранный. – flcoder

+0

Хмм .... он работал в скрипке – Flake

+0

Да, это был вариант, который я попробовал - несколько раз ... – WorkingMan8798