Показать сообщение отдельно
  #1 (permalink)  
Старый 11.01.2014, 19:29
Интересующийся
Отправить личное сообщение для TITO Посмотреть профиль Найти все сообщения от TITO
 
Регистрация: 05.01.2014
Сообщений: 10

Фильтр "мусора" в массиве
Всем привет. Есть одна не понятка с jquery.
Есть ассоциативный массив
var datas = {"jshop_attr_id12":["22-1-2014","23-1-2014","24-1-2014","28-1-2014","29-1-2014","30-1-2014","31-1-2014"],"jshop_attr_id16":["9-1-2014","10-1-2014","28-1-2014","29-1-2014","30-1-2014","31-1-2014"]};

Отдаю при построении в таком виде
var datas = '.json_encode ($combo_html).';


Есть на странице радио кнопки, где id кнопки === ключ массива.
<span id='block_attr_sel_1'>
 <span class="input_type_radio"><input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id11" value="1" checked="checked" onclick="setAttrValue('1', this.value);"> <label for="jshop_attr_id11"><span class='radio_attr_label'>22</span></label></span>

<span class="input_type_radio"><input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id15" value="5" onclick="setAttrValue('1', this.value);"> <label for="jshop_attr_id15"><span class='radio_attr_label'>44</span></label></span>

<span class="input_type_radio"><input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id16" value="6" onclick="setAttrValue('1', this.value);"> <label for="jshop_attr_id16"><span class='radio_attr_label'>55</span></label></span></span>


Пытаюсь обработать событие кнопки
jQuery(document).ready(function(){
			var work_arr;
			$('#block_attr_sel_1').on('change','input', function ()       {
				
				var tmp = this.id;
				console.log(tmp);
				work_arr = datas[this.id];
				if (typeof datas[this.id] !== "undefined") {
					work_arr = work_arr.filter(function (value) {
						if (typeof value === "string") {
							return value
						};
					});
					
					console.log(work_arr);
				}
			});


В html коде страницы вижу
var datas = {"jshop_attr_id12":["22-1-2014","23-1-2014","24-1-2014","28-1-2014","29-1-2014","30-1-2014","31-1-2014"],"jshop_attr_id16":["9-1-2014","10-1-2014","28-1-2014","29-1-2014","30-1-2014","31-1-2014"]};


Клацаю по кнопкам, в консоли вижу
jshop_attr_id15
jshop_attr_id16
["9-1-2014", "10-1-2014", $family: function, $constructor: function, each: function, clone: function, clean: function…]

jshop_attr_id15
jshop_attr_id11
jshop_attr_id16
["9-1-2014", "10-1-2014", $family: function, $constructor: function, each: function, clone: function, clean: function…]
Все массивы дат затем уходят в jquery датапикер.

Внимание вопрос.
1. Что млять за ... вот здесь: $family: function, $constructor: function, each: function, clone: function, clean: function…
2. Как от этого избавиться? Потому, что такой массив датапикер жрать отказывается.

Все работает на jquery 1.10.3 + joomla 3.2.0 + joomshopping 4.3.3, от браузера не зависит.

Последний раз редактировалось TITO, 11.01.2014 в 19:58.
Ответить с цитированием