Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #61 (permalink)  
Старый 26.07.2017, 19:18
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

сделал так:
$("#sdelka").change(function() {
        var v = this.value;
        var store = [];  
        store[0] = {1:'Вилла/Дом',2:'Кондо/Апартаменты',3:'Бунгало'};
        store[1] = {4:'Вилла/Дом',5:'Кондо/Апартаменты',6:'Проект',7:'Коммерческая',8:'Земля'};
        $('#pp').html('<option value="">Тип объекта</option>');
        if(store[v]){
            for(i in store[v]){
                $('#pp').append('<option value="'+i+'">'+store[v][i]+'</option>');
            }
        }
    });


работает. но теперь вопрос, как мне вместо допустим
$('#pp').html('<option value="">Тип объекта</option>');

вставить:
$('#pp').html('<option value=""><?php echo Yii::t("common", "Property type")?></option>');

так не работает.
http://c2n.me/3Ms0JjE
т.е. комментрий html пишет

Последний раз редактировалось artem55555p, 26.07.2017 в 19:25.
Ответить с цитированием
  #62 (permalink)  
Старый 26.07.2017, 19:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

artem55555p,
никак, нет на клиенте РНР. Не этим

var store = [];
store[0] = {1:'Вилла/Дом',2:'Кондо/Апартаменты',3:'Бунгало'};
store[1] = {4:'Вилла/Дом',5:'Кондо/Апартаменты',6:'Проект',7:'Ком мерческая',8:'Земля'};

должен оперировать в таком случае обработчик, а объектом, который формируется сервером при запросе страницы.
Ответить с цитированием
  #63 (permalink)  
Старый 26.07.2017, 19:26
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

ну мне надо это вставить. пытался строкой, не вышло тоже...
Ответить с цитированием
  #64 (permalink)  
Старый 26.07.2017, 19:29
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

http://c2n.me/3Ms1gbf
$('#pp').html('<option value="">'+"<?php echo Yii::t('common', 'Property type')?>"+'</option>');


как сделать, чтобы в верстке комментария не была, а был php? Сейас оно комментируется автоматом.
Ответить с цитированием
  #65 (permalink)  
Старый 26.07.2017, 19:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от artem55555p
$('#pp').html('<option value="">'+"<?php echo Yii::t('common', 'Property type')?>"+'</option>');
Ну что за хрень. У вас второй список формируется непосредственно и со вставками

<?php echo Yii::t('common', 'Villa/Home')?>

и т.п. В выводе страницы, где-то в самом низу, сделайте

<script>
var store = [
    {'1': <?=Yii::t('common', 'Villa/Home')?>, '2': .....},
    {'1': <?=Yii::t('common', 'Villa/Home')?>, '2': .....} 
];
</script>


А обработчик просто использует этот объект. Зачем же ради объявления одного объекта размещать на странице js-сценарии? Обработчик вообще может быть в подключаемом файле.

PS. Лучше бы было, чтобы не монотонно <?=Yii::t('common', 'Villa/Home')?>, <?=Yii::t('common', 'Villa/Home')?>, ... а циклом заготовить массив описывающий второй список, и затем поместить его в вывод как json_encode($array).

Последний раз редактировалось laimas, 26.07.2017 в 19:41.
Ответить с цитированием
  #66 (permalink)  
Старый 26.07.2017, 19:50
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

честно говоря не понял....(
Ответить с цитированием
  #67 (permalink)  
Старый 26.07.2017, 19:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

artem55555p,
чего не понятного? Обработчик должен оперировать объектом описывающим данные для списка, формируя теги опций по этим данным и вставляя их в список.

Если уж и оперировать готовым html, то опишите его сразу двумя элементами массива, в котором готовые теги опций с РНР вставками.

Но в любом из этих случаев это должно быть сделано при выводе страницы.
Ответить с цитированием
  #68 (permalink)  
Старый 26.07.2017, 19:59
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

можете пример привести?
Ответить с цитированием
  #69 (permalink)  
Старый 26.07.2017, 20:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от artem55555p
можете пример привести?
Пример чего? Вот тут ваш пример, нужно только таким же образом описать это не в код select, который будет пустой, а в массив если html опций готовых или массив объектов если только данные для опций.
Ответить с цитированием
  #70 (permalink)  
Старый 27.07.2017, 09:15
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

ну я делал, у меня не получилось....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работают скрипты в клонированной шапке Aristarx Элементы интерфейса 0 14.04.2016 12:04
В шаблонах директив не работают скрипты A1x1On2015 Angular.js 0 20.01.2016 12:48
Не работают скрипты после обновления данных Dealaxer Общие вопросы Javascript 4 18.03.2015 17:12
Не работают скрипты в блоках созданных при помощи jQuery after() rusbody jQuery 10 25.11.2011 14:06
Не работают скрипты на jQuery в IE6/7 Александр345 jQuery 6 19.08.2011 13:27