Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Условие на ajax (https://javascript.ru/forum/misc/53027-uslovie-na-ajax.html)

makc_mb 18.01.2015 13:12

Условие на ajax
 
Подскажите, пожалуйста, как будет выглядеть условие на ajax, если на php оно выглядит так:
<?php if ($product['status'] == $this->language->get('text_enabled')){echo ' selected';} ?>

danik.js 18.01.2015 13:14

Цитата:

Сообщение от makc_mb
ajax

А что это такое?

makc_mb 18.01.2015 13:16

danik.js, это набор техник разработки веб-интерфейсов, позволяющих делать динамические запросы к серверу без видимой перезагрузки веб-страницы

danik.js 18.01.2015 13:19

Цитата:

Сообщение от makc_mb
условие на ajax

А как ты представляешь условие на "наборе техник"?

makc_mb 18.01.2015 13:27

Хорошо, задам вопрос по другому.
Есть два блока, стиль которым задаётся в зависимости от переменной $product['status']

<label class="cb-enable<?php if ($product['status'] == $this->language->get('text_enabled')){echo ' selected';} ?>" id="on<?php echo $product['product_id']; ?>" OnClick="turnon('<?php echo $product['product_id']; ?>');"><span>On</span></label>

<label class="cb-disable<?php if ($product['status'] == $this->language->get('text_disabled')){echo ' selected';} ?>" id="off<?php echo $product['product_id']; ?>" OnClick="turnoff('<?php echo $product['product_id']; ?>');"><span>Off</span></label>


Мне нужно сделать то же самое на ajax. Выполнение скрипта, т.е. действие OnClick на ajax сделать просто, вот как быть со стилями?

danik.js 18.01.2015 14:31

Ты хочешь получить статус продукта с сервера (через ajax-запрос) и в зависимости от него поменять стиль label?

var label = this; // или как-то иначе - зависит от тебя.
var request = new XMLHttpRequest();
...
request.onload = function() {
    var response = JSON.parse(this.responseText);
    label.className += (response.status == 'enabled') ? ' selected' : '';
};

makc_mb 18.01.2015 14:41

Цитата:

Сообщение от danik.js
Ты хочешь получить статус продукта с сервера (через ajax-запрос) и в зависимости от него поменять стиль label?

Получить статус продукта через аякс просто - ${status}
Мне нужно выбрать стиль в зависимости от ${status}

danik.js 18.01.2015 14:46

makc_mb, мог бы просто ответить "Да" :D

makc_mb 18.01.2015 15:32

Вот простой пример:
Значения ${status}: enable/disable
Вывод значения на аякс: ${status}
Как закрасить текст красным, если значение ${status} будет disable?

{{if status = enable}}
<span style="color: black;">${status}</span>
{{else}}
<span style="color: red;">${status}</span>
{{/if}}

чёт не работает

Vlasenko Fedor 18.01.2015 15:38

makc_mb,
{{if status = enable}}
я х.з что ты за шаблонизатор используешь, но status = enable
ты задаешь значение, а не сравниваешь status == enable


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