Картинка по списку
Есть выпадающий список, оформлен так:
<xsl:template match="field[@type = 'relation']" mode="form-fields"> <tr> <td class="text_info"><xsl:value-of select="@title"/>:</td> </tr> <tr> <td class="text_input"> <select class="{@name}" name="{@input_name} sweets"> <xsl:apply-templates select=".//item" mode="form-select"/> </select> </td> </tr> </xsl:template> <xsl:template match="item" mode="form-select"> <option class="op_vybor" value="{@id}"> <xsl:value-of select="." /> </option> </xsl:template> Это на xslt, работает как и обычного вида: <select> <option>1</option> <option>2</option> <option>3</option> </select> Нужно сделать так, чтобы при выборе определенного опшена, сбоку появлялась картинка. К каждому опшену картинка своя. Помогите пож, пробовал сам не выходит. Выводить сбоку еще допустим тоже самое что и в опшене получается, а как картинку прицепить не знаю( Очень нужна помощь знающих людей) |
Помогите, пожалуйста, ну очень нужна помощь)
Ребят, ну помогите неопытному)
Вот скрипт, который выводит значение value выбираемого пункта из списка. <script> $(document).ready(function(){ $('select.avtomobil').change(function () { var str = ""; $("select option:selected").each(function () { str += $(this).val(); }); $("li.vivod").text($(this).val()); }) .change(); }); </script> На сколько понимаю, если убрать все от var str = ""; и вместе с ним 4 строчки ни чего не измениться. Не знаю зачем это сбрасываю. Может просто, чтобы люди поняли, что я полный профан в js а тут вот нужно, а как сделать. Подскажите, пожалуйста. Нужно, чтобы при выборе опшена - выводилась картинка, для каждого опшена - своя.:cray: |
При чём тут Angulas.js?
|
Цитата:
|
Ребят, нужна реальная помощь)
Нужен такой скрипт, а ради одной вещи весь js учить нет времени)
|
Сорри, коллеги ;)
<select id="selImg" onchange="document.getElementById('target').src = this.value"> <option value="http://javascript.ru/forum/image.php?u=2666&dateline=1353162565">Tim</option> <option value="http://javascript.ru/forum/image.php?u=17434&dateline=1322593884f">nerv_</option> </select> <div><img id="target" src="http://javascript.ru/forum/image.php?u=2666&dateline=1353162565" alt="" /></div> |
Уважаемый ВЕТЕРАН, а как сделать, если у меня зависимые select'ы, а
мне нужно чтобы фото выводилось после выбора каждого изменения. Вот как у меня выглядит на данный момент скрипт: (можно посмотреть результат тут http://testmagaz.tw1.ru) <script language="JavaScript"> <!-- function l_image (a) { document.images [0] .src=a } --> </script> <table cols="2" width="90%" border="0"> <tr><td> <p><select id="List1" onchange="document.images[0].src=this.options[this.selectedIndex].value"> <option value="white">White</option> <option value="black">Black</option> </select></p> <p><select id="List2"></select></p> <p><select id="List3"></select></p></td> <td align="center" valign="center"><img src="http://testmagaz.tw1.ru/wp-content/themes/magaz15/white/000.jpg" name="tool" ></td> </tr> </table> <script type="text/javascript"> var syncList1 = new syncList syncList1.dataList = { 'white':{ 'white_1':'обычная', 'white_2':'приталинная' }, 'black':{ 'black_1':'обычная ч', 'black_2':'приталинная ч' }, 'white_1':{ 'white_1_1':'обычная с 2 пуговицами', 'white_1_2':'обычная с 3 пуговицами' }, 'white_2':{ 'white_2_1':'приталинная с 2 пуговицами', 'white_2_2':'приталинная с 3 пуговицами' }, 'black_1':{ 'black_1_1':'обычная ч с 2 пуговицами', 'black_1_2':'обычная ч с 3 пуговицами' }, 'black_2':{ 'black_2_1':'приталинная с 2 пуговицами', 'black_2_2':'приталинная с 3 пуговицами' } }; syncList1.sync("List1","List2","List3"); </script> |
Проще всего, имхо, назвать фотографии:
bo2.jpg, bo3.jpg, bp2.jpg, bp3.jpg, wo2.jpg, wo3.jpg, wp2.jpg, wp3.jpg и формировать имя файла для вывода в одной функции: b - черная, w - белая, o - обычная, p - приталенная, 2 - с двумя пуговицами, 3 - с тремя (проставить соответствующие value в селектах). document.getElementById('List1').onchange = document.getElementById('List2').onchange = document.getElementById('List3').onchange = function () {document.getElementById('photo').src = document.getElementById('List1').value + document.getElementById('List2').value + document.getElementById('List3').value; } |
Блять, сначало написал код, потом заметил что чувак не юзает ангуляр.
<!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/1.2.0-rc.2/angular.min.js"></script> </head> <body> <div ng-controller="Controller"> <h2 >Магазинчег</h2> <div> <div> <label>Одежда</label> <select data-ng-model="currentGroup" data-ng-options="group.Name for group in groups"></select> </div> <div> <label>Размер модели</label> <select data-ng-model="currentItem" data-ng-options="item.Name for item in currentItems"></select> </div> </div> <img src="{{img}}"/> <script> function Controller($scope) { var groups = [ { "Id": "1", "Name": "Белое платье сшитое эльфами ", "Items": [ { "Id": "1", "Name": "Большое", "img":"http://javascript.ru/forum/image.php?u=17434&dateline=1322593884f" }, { "Id": "2", "Name": "Маленькое", "img":"http://javascript.ru/forum/image.php?u=14174&dateline=1380803229" }, { "Id": "3", "Name": "Среднее", "img":"http://javascript.ru/forum/image.php?u=11594&dateline=1352658958" }, { "Id": "4", "Name": "XXL Для жиртресток", "img":"http://javascript.ru/forum/image.php?u=2666&dateline=1353162565" } ] }, { "Id": "2", "Name": "Куртка из кожи с жопы дракона", "Items": [ { "Id": "5", "Name": "Для детей", "img":"http://javascript.ru/forum/image.php?u=11594&dateline=1352658958" }, { "Id": "6", "Name": "Для карликов", "img":"http://javascript.ru/forum/image.php?u=14174&dateline=1380803229" }, { "Id": "7", "Name": "Для гномов", "img":"http://javascript.ru/forum/image.php?u=2666&dateline=1353162565" } ] }]; $scope.groups = groups; // Все товары $scope.currentGroup = groups[0]; // Выбранные товар $scope.currentItems = $scope.currentGroup.Items; // Все размеры $scope.currentItem = $scope.currentItems[0]; // Выбраный размер //Следим за изменением товара $scope.$watch('currentGroup', function () { $scope.currentItems = $scope.currentGroup.Items; $scope.currentItem = $scope.currentGroup.Items[0]; }); //Следим за изменением размера $scope.$watch('currentItem', function () { $scope.img = $scope.currentItem.img; }) } </script> </div> </body> </html> |
Я тут попытался , сделать три зависимых селекта , почему-то не вышло, подскажите ошибку
<!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/1.2.0-rc.2/angular.min.js"></script> </head> <body> <div ng-controller="Controller"> <h2 >Магазинчег</h2> <table cols="2" width="90%" border="0"> <tr><td><p> <label>Цвет рубашки</label> <select data-ng-model="currentGroup" data-ng-options="group.Name for group in groups"></select></p> <p><label>Тип рубашки</label> <select data-ng-model="currentItem" data-ng-options="item.Name for item in currentItems"></select></p> <p><label>Запястье</label> <select data-ng-model="currentZap" data-ng-options="zap.Name for zap in currentZaps"></select></p></td> <td><img src="{{img}}"/></td><tr></table> <script> function Controller($scope) { var groups = [ { "Id": "1", "Name": "Белое платье сшитое эльфами ", "Items": [ { "Id": "1", "Name": "Большое", "img":"http://javascript.ru/forum/image.php?u=17434&dateline=1322593884f" "Zaps": [ { "Id": "1", "Name": "2 Пуговки", "img":"http://testmagaz.tw1.ru/wp-content/themes/magaz15/white/000.jpg" }, { "Id": "2", "Name": "3 Пуговки", "img":"http://testmagaz.tw1.ru/wp-content/themes/magaz15/white/111.jpg" } ] }, { "Id": "2", "Name": "Маленькое", "img":"http://javascript.ru/forum/image.php?u=14174&dateline=1380803229" }, { "Id": "3", "Name": "Среднее", "img":"http://javascript.ru/forum/image.php?u=11594&dateline=1352658958" }, { "Id": "4", "Name": "XXL Для жиртресток", "img":"http://javascript.ru/forum/image.php?u=2666&dateline=1353162565" } ] }, { "Id": "2", "Name": "Куртка из кожи с жопы дракона", "Items": [ { "Id": "5", "Name": "Для детей", "img":"http://javascript.ru/forum/image.php?u=11594&dateline=1352658958" }, { "Id": "6", "Name": "Для карликов", "img":"http://javascript.ru/forum/image.php?u=14174&dateline=1380803229" }, { "Id": "7", "Name": "Для гномов", "img":"http://javascript.ru/forum/image.php?u=2666&dateline=1353162565" } ] }]; $scope.groups = groups; // Все товары $scope.currentGroup = groups[0]; // Выбранные товар $scope.currentItems = $scope.currentGroup.Items; // Все размеры $scope.currentItem = $scope.currentItems[0]; // Выбраный размер $scope.currentZaps = $scope.currentItem.Zaps; $scope.currentZap = $scope.currentZaps[0]; //Следим за изменением товара $scope.$watch('currentGroup', function () { $scope.currentItems = $scope.currentGroup.Items; $scope.currentItem = $scope.currentGroup.Items[0]; $scope.currentZaps = $scope.currentGroup.Zaps; $scope.currentZap = $scope.currentGroup.Zaps[0]; }); //Следим за изменением размера $scope.$watch('currentItem', function () { $scope.img = $scope.currentItem.img; }), $scope.$watch('currentZap', function () { $scope.img = $scope.currentZap.img; }) } </script> </div> </body> </html> |
Часовой пояс GMT +3, время: 00:12. |