Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Очередной ступр (https://javascript.ru/forum/jquery/61586-ocherednojj-stupr.html)

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

Цитата:

Сообщение от karden
for each

это что?


Часовой пояс GMT +3, время: 09:18.