TopRaN 235 Жалоба Опубликовано: September 13, 2017 Быстрый хак Смотрим в админке в справочнике городов ID города. после в header.tpl вставляем следующее содержимое <script type="text/javascript" > $(document).ready(function(){ if($("#city_id").val()){ ymaps.ready(function(){ var city = ymaps.geolocation.city; $("#user-city").text(ymaps.geolocation.city); if(city == 'Москва'){ $("#city_id [value='1']").attr("selected", "selected"); } else(city == 'Киев'){ $("#city_id [value='2']").attr("selected", "selected"); } }); } }); </script> для того что бы узнать какой город нам выводится можно в любом видном месте сайта поставить следующий div <div id="user-city"></div> но это хорошо будет работать при api яндекс 2.0 P.S. Не самое удачное решение) Вариант № 2 <script type="text/javascript" > $(document).ready(function(){ if($("#city_id").val()){ var jsonString = $.getJSON("http://ip-api.com/json/?callback=?",function( data ) { var city = (data.city); if(city == 'Moscow'){ $("#city_id [value='1']").attr("selected", "selected"); } else if(city == 'Kiev'){ $("#city_id [value='2']").attr("selected", "selected"); } else { $("#city_id [value='0']").attr("selected", "selected"); } }); } }); </script> P.S. Более точное определение города. p.p.s узнать город можно перейдя по ссылке http://ip-api.com/json/?callback Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: September 13, 2017 1 час назад, TopRaN сказал: Быстрый хак Смотрим в админке в справочнике городов ID города. после в header.tpl вставляем следующее содержимое <script type="text/javascript" > $(document).ready(function(){ if($("#city_id").val()){ ymaps.ready(function(){ var city = ymaps.geolocation.city; $("#user-city").text(ymaps.geolocation.city); if(city == 'Москва'){ $("#city_id [value='1']").attr("selected", "selected"); } else(city == 'Киев'){ $("#city_id [value='2']").attr("selected", "selected"); } }); } }); </script> для того что бы узнать какой город нам выводится можно в любом видном месте сайта поставить следующий div <div id="user-city"></div> но это хорошо будет работать при api яндекс 2.0 P.S. Не самое удачное решение) Вариант № 2 <script type="text/javascript" > $(document).ready(function(){ if($("#city_id").val()){ var jsonString = $.getJSON("http://ip-api.com/json/?callback=?",function( data ) { var city = (data.city); if(city == 'Moscow'){ $("#city_id [value='1']").attr("selected", "selected"); } else if(city == 'Kiev'){ $("#city_id [value='2']").attr("selected", "selected"); } else { $("#city_id [value='0']").attr("selected", "selected"); } }); } }); </script> P.S. Более точное определение города. p.p.s узнать город можно перейдя по ссылке http://ip-api.com/json/?callback а когда есть взаимосвязка линкенд и депенденд регион-город как сделать? и на что менять attr - на свое значение переменной? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: September 13, 2017 7 минут назад, doma сказал: а когда есть взаимосвязка линкенд и депенденд регион-город как сделать? и на что менять attr - на свое значение переменной? Тут более сложный процесс. Нужно будет сначала определять регион, узнавать выбран он или нет, после проводить сверку, и так далее по цепочке. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: September 13, 2017 Что-то и по региону у нас не получилось. Делали и так и так. Что-то не выбирается. Что сделали не так? вот код. <script type="text/javascript" > $(document).ready(function(){ if($("#region_id").val()){ var jsonString = $.getJSON("http://ip-api.com/json/?callback=?",function( data ) { var city = (data.regionName); if(region == 'наш регион на английском'){ $("#region_id [value='8']").attr("selected", "selected"); } else if(city == 'tverskay'){ $("#region_id [value='2']").attr("selected", "selected"); } else { $("#region_id [value='0']").attr("selected", "selected"); } }); } }); </script> А с чего у вас получится? объявляете var city = (data.regionName); а потом проверяете if(region == 'наш регион на английском'){ т.е. задаете одну переменную , а потом пытаетесь задать условие с другой переменной, которую машина не знает Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: September 13, 2017 чтобы разобраться до конца несколько вопросов в $("#city_id [value='1']").attr("selected", "selected"); value=1 это какое первое значение - а) значение в нашем справочнике в админке? б) значение в выпадающем списке? attr это универсальный оператор или надо писать свой ? если свой то какой и откуда он берется? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: September 13, 2017 3 минуты назад, doma сказал: $("#city_id [value='1']").attr("selected", "selected"); value=1 это какое первое значение - а) значение в нашем справочнике в админке? б) значение в выпадающем списке? attr это универсальный оператор или надо писать свой ? если свой то какой и откуда он берется? а) Да. б) http://api.jquery.com/attr/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: September 13, 2017 Только что, TopRaN сказал: а) Да. б) http://api.jquery.com/attr/ пардон опечатка на самом деле такой код - но все равно не выбирает. или надо еще attr править? <script type="text/javascript" > $(document).ready(function(){ if($("#region_id").val()){ var jsonString = $.getJSON("http://ip-api.com/json/?callback=?",function( data ) { var region = (data.regionName); if(region == ' наш регион'){ $("#region_id [value='8']").attr("selected", "selected"); } else if(region == 'tverskay'){ $("#region_id [value='2']").attr("selected", "selected"); } else { $("#region_id [value='0']").attr("selected", "selected"); } }); } }); </script> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах