Вход

Просмотр полной версии : Очередной ступр


karden
24.02.2016, 22:03
Ох, тяжко у меня идет JS...

Что не так?


var SensLastValue = []; SensLastValue[8] = 8; SensLastValue[1] = 23; //Это генерируется с сервера вместе с HTML.

alert (SensLastValue[1]); // Работает, показывает "23".

$("#ObjectSensorsAddLastDBValue").text('Static text'); // Работает

$("#ObjectSensorsAddLastDBValue").text(SensLastValue[1]); // Не работает.
// Если правильно понимаю, то это из-за того, что массивы - это объекты.

var LastVal = SensLastValue[1];
$("#ObjectSensorsAddLastDBValue").text(LastVal); // Та же ошибка (как с массивом)

var LastVal = SensLastValue[1].toString();
$("#ObjectSensorsAddLastDBValue").text(LastVal); // Нет

var LastVal = toString(SensLastValue[1]);
$("#ObjectSensorsAddLastDBValue").text(LastVal); // Аналогичный результат.


Спасибо

рони
24.02.2016, 22:27
karden,
всё работает, в строке 16 фигня написана, но и она рабочая

karden
24.02.2016, 22:34
Хром в консоль выдает это:

Uncaught TypeError: Cannot read property '1' of undefined$.selectmenu.change @ shell2.pl?m=34&os=1:191$.Widget._trigger @ jquery-ui.js:815$.widget._select @ jquery-ui.js:11532(anonymous function) @ jquery-ui.js:415menuInstance.menu.menu.select @ jquery-ui.js:11199$.Widget._trigger @ jquery-ui.js:815$.widget.select @ jquery-ui.js:6963(anonymous function) @ jquery-ui.js:415_on.click .ui-menu-item @ jquery-ui.js:6415handlerProxy @ jquery-ui.js:726jQuery.event.dispatch @ jquery.js:5095elemData.handle @ jquery.js:4766

И текст "23" не появляется...

karden
24.02.2016, 22:38
Все... Работает... Просто ничего не вижу... Там внутри обработчика события еще раз объявлялся массив...

Прошу прощения за свою тупость... :)

karden
28.02.2016, 09:47
Новый ступр...

Скрипт - большой. Весь вставлять не буду...


// это работает
$('<tr>'+
'<td>'+json.OSID+'</td>'+
'<td>'+json.SensorName+'</td>'+
'<td><input type="text" value="'+json.SensorLegend+'"></td>'+
'<td><input type="checkbox" value="1" '+json.onImage+'></td>'+
'<td><input type="checkbox" value="1" '+json.onChart+'></td>'+
'<td><input type="text" value="'+json.ValueTTL+'"></td>'+
'<td>'+json.LastValue+'<br><div style="font-size:x-small">&nbsp;'+Udate+'</div></td>'+
'<td><div id="RemoveSensorButton'+json.OSID+'" OSID="'+json.OSID+'">Удалить</div></td>'+
'</tr>').insertBefore($("#AddSensorForm"));

$( "#RemoveSensorButton"+json.OSID ).click(RemoveSensorFromList);

// А тут алерты (оба) работают, а append - нет
// Через поиск проверил, что на странице элемент с таким ID - есть, и в единственном экземпляре
function RemoveSensorFromList(vOSID) {

var RemoveOSID = '#RemoveSensorButton'+$(this).attr('OSID');

alert ('OSID: '+RemoveOSID);
$('<div style="width: 100px; height: 408px;'+
' background: #ddaaaa;>Точно удалить!</div>')
.appendTo($(RemoveOSID));
alert ('OSID: '+RemoveOSID);
} // function RemoveSensorFromList(vOSID)



В консоль ошибок не выдется

Спасибо

Dilettante_Pro
28.02.2016, 10:10
karden,
Не хватает двойных кавычек в завершении описания стиля

рони
28.02.2016, 10:10
karden,
строка 23 стиль незакрыт

karden
28.02.2016, 10:25
Спасибо.

Как раз вчера думал о том, что количество скобок к коде превышает все мыслимые пределы и понять какая откуда - чем дальше, тем сложнее. А когда еще цепочки методов, то вообще труба.

karden
17.03.2016, 14:39
Новый идиотский вопрос...


var newDayStatus = jQuery.parseJSON( msg );
$('#JSON_IN2').html (JSON.stringify(newDayStatus, null, '\t'));
for each (var item in newDayStatus) {
//console.log (item);
}

Содержание JSON_IN2 (объект точно существует и не пустой):
{
"20.03.2016": "3"
}


Ругается на строку "for each (var item in newDayStatus) {"
Пишет "Uncaught SyntaxError: Unexpected identifier" на этапе интерпритации.

Код цикла взял из стандартного примера.

рони
17.03.2016, 14:44
for each
это что?

karden
17.03.2016, 14:46
Ну, например, тут :)

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for_each...in

karden
17.03.2016, 14:47
Ну или вопрос в следующем: Мне надо перебрать все свойства объекта... Может надо как-то иначе?

karden
17.03.2016, 15:01
Нашел... Работает.

for (key in newDayStatus) {
console.log (key);
}

А что тогда в той ссылке?

рони
17.03.2016, 15:59
А что тогда в той ссылке?
вы красненькое внизу гляньте по ссылке вашей