Помогите с celect-om
Люди помогите плжалуйста!
У меня вот такая задача. Надо менять фотку взависимости от id пользователя. Есть select <select id="id_user"> <option value="1">Petr</option> <option value="2">Vasia</option> </select> Пытаюсь сделать так: но на самом деле я незнаю получится или нет. Надо вставить value select-a в ссылку <script language="JavaScript" type="text/JavaScript"> // замена фото $('#id_user').click(function() { $("#photo").html('<img src="noindex/images_user/(Вот сюда надо вставить!).jpg">'); }); </script> как это сделать? Если я чтото не правильно делаю направьте Плиз. |
$("#id_user").change(function () { $("#photo img").attr("src", this.options[this.selectedIndex].value); }); |
Спасибо. Но я недогнал. Как мне в то место подставить полученй результат? Спасибо.
|
конкатенация строк
|
А пимер не покажете?
|
Я попробовал вот так но не получается:
$('#photo').append("<img src='noindex/images_user/").append(this.options[this.selectedIndex].value).append(".jpg'>"); когда вставляю: alert("<img src='noindex/images_user/").append(this.options[this.selectedIndex].value).append(".jpg'>"); Выводит: <img src='noindex/images_user/ Сделал так: предваоительно создав переменную id alert("<img src='noindex/images_user/"+id+".jpg'>"); Выводит:<img src='noindex/images_user/undefined.jpg'> |
Цитата:
|
Цитата:
|
Цитата:
|
Спасибо конечно. Но в место того чтобы принижать кого-то и тратить время на написание этого текста, можно просто показать как это делается.
Вам наверное трудно с людьми общаться если вы считаете себя гурру. Если вам это так трудно, то можно вообще ничего не писать. Принижая когото сам не возвысишся! |
Просто сказать - нельзя. А непросто - так я уже дал все необходимые рекомендации, надо им только последовать. там ведь не написано ничего сложного или лишнего.
|
Цитата:
$("#id_user").change(function () { $("#photo img").attr("src", this.options[this.selectedIndex].value + здесь должна происходить контакетация ); }); |
Не хочу показаться назойливым, но я погуглил и не нашол примеров контакетации и на этом ресурсе через поиск выдается только эта страница.
И что к чему надо прибавлять я непонимаю. |
конкатенация строк
Потому что она так пишется:) , а я ошибся при ее написании. Перегуглите плиз. |
Ну ёпт, говорю по русски - соединение строк. Эту функцию выполняет оператор "+".
В jQuery метод append не добавляет строку, а из строки создаёт объект и добавляет его, если конечно строка правильная. $('#id_user').change(function() { $("#photo").html('<img src="noindex/images_user/'+this.value+'.jpg">'); }); П.С. Что бы вы не чувствовали, что вас принижают - освойте самые элементарные вещи как в жизни, так и тут - в программировании. Тогда вас никто принижать не будет. |
В жизни меня ни кто не принижает. И принижать не посмеет!
Учитывая то, что мне еще не попадался ни один нормальный экземпляр (пособие) в котором доступными словами и примерами объясняется, что, как и почему, я этих элементарных вещей не знаю. В данном примере Вы конкретно объяснили что как и почему. В место того чтобы писать типа вы ничего не умеете и тд. и тп. За это я Вам благодарен. Буду еще больше благодарен, если дадите ссылочку на пособия по jQuery и js в которых автор может доходчево объяснить и показать пример. спасибо! |
если у вас достаточно времени на обучение,
могу посоветовать 1. По верстке http://softwaremaniacs.org/blog/category/primer/ там набор статей 2. По чистому js, - книгу Фленагана все-таки http://javascript.ru/book (самая верхняя) + статьи с этого сайта: учебник javascript и основные элементы языка + По сложным вопросам писать на форуме Цитата:
потом по jquery http://www.slyweb.ru/ и книжку какую-нить, если будет желание |
Тут по jQuery - http://www.linkexchanger.su/sitemap
А то, где было доходчиво написано про JS уже закрыто) Читайте просто стандарты языка ) |
Цитата:
Я по ним изучал php. По этим курсам конечно не создашь чтото типа mail.ru но все азы разжованы, перемолаты и в рот положены. Скоро должны выйти по js. http://ruseller.com/ Автор ресурса Евгений Попов Специализируется на видеокурсах. За ссылочки спасибо. Обязательно проиндексирую :) |
А маил.ру не на php :D
|
Я имею в виду, что там маловато инфы для того чтобы написать такой сайт.
Там собраны все азы и все доходчиво объяснено. Для начала лучше не найдешь! |
Прочитал название темы, сам попробовал решить эту задачу. В JS пока не сильно силен, сделал как мог. Моя проблема в том, что код не адекватно работает в Mozilla, ф во всех броузерах норм. Не могли бы подсказать в чем моя ошибка?
<form action="" method="get" name="user" id="user"> <select id="user_id"> <option value="1" /> User 1 <option value="2" /> User 2 <option value="3" /> User 3 <option value="4" /> User 4 <option value="5" /> User 5 </select><br /> <input type="button" id="but" value="Change" /> </form> <img src="" id="imgUser" width="350"> <script> var but = document.getElementById("but"); onload = f_ChangeUse; if (but.addEventListener) { but.addEventListener("click", f_ChangeUse, false); } else { but.attachEvent("onclick", f_ChangeUse); } function f_ChangeUse() { var val = document.forms("user").user_id.value; document.getElementById("imgUser").src = "img/user_" + val + ".jpg"; } </script> |
В 12 строке не круглые скобки, а квадратные надо. Да, и кто вас учил так писать option? Чтобы было валидно, надо так:
<option value="1">User 1</option> И тегу script лучше указать type="text/javascript" |
<form action="" method="get" name="user" id="user"> <select id="user_id"> <option value="1" /> User 1 <option value="2" /> User 2 <option value="3" /> User 3 <option value="4" /> User 4 <option value="5" /> User 5 </select><br /> <input type="button" id="but" value="Change" /> </form> <img src="img/user_1.jpg" id="imgUser" width="350"> <script> var but = document.getElementById("but"); onload = f_ChangeUse; if (but.addEventListener) { but.addEventListener("click", f_ChangeUse, false); } else { but.attachEvent("onclick", f_ChangeUse); } function f_ChangeUse() { var val = document.forms["user"].user_id.value; document.getElementById("imgUser").src = "img/user_" + val + ".jpg"; } </script> |
Цитата:
За подсказку спасибо большое, просто нужно быть внимательнее |
Люди добрые. Помогите пожалуйста.
Есть 2 разных селекта <select id="on_user"> <option value="1">Один</option> <option value="2">Два</option> <option value="3">Три</option> </select> <select id="id_user"> <option value="1">Петя</option> <option value="2">Вася</option> <option value="3">Лена</option> </select> Надо сделать чтобы при выборе в первом селекте выделялся option во втором с таким же value. Я работаю с jQuery. Вот пример который выдиляет первый option во втором селекте. $('select[id=id_user] option:first').attr('selected', 'yes'); Может кто подскажет как сделать чтобы выделялся тот у которого такой же value?! Я сделал вот так: $('#on_user').change(function() { $('select[id=id_user] option:eq('+this.value+')').attr('selected', 'yes'); }); Но почемуто в Опере работает только на последний option. IE вообще не воспринимает. В FF все работает. Может кто подскажет как лучше сделать? |
Цитата:
что по вашему делает селектор eq(n)? В качестве быстрой правки можно вот так сделать $('#on_user').change(function() { $('select[id=id_user] option:eq('+(this.value-1)+')').attr('selected', 'yes'); }); но это будет работать (по крайней мере в IE6 и FF), если value по порядку будут идти, а вообще нужно все переделать |
Напишите, пожалуйста, скрипт:)
есть формы: select (значение1, значения2); text1;text2 нужно следущее: при выборе значения 1 содержимое формы text = 1,text2 виден при выборе значения 2 содержимое формы text = 2, text2 не виден html: <select name="sel"> <option>значение1</option> <option>значения2</option> <input type="text" name="text1"> <input type="text" name="text2" value="TEXT2"> Спасибо) |
Писать скрипт просто так мало кто будет. Вам надо отлавливать событие onchange у селекта, проверять текущее значение и в зависимости от него устанавливать value у text1 и менять display или visible у text2. Ключевики я дал, в поиск.
|
ну вот, набрасал что-то...
только работает с цифрами, а с текстом - нет. т.е. это работает if (l1=="2") document.formText.t1.value="235"; а это не работает if (l1=="text") document.formText.t1.value="235"; Вот весь код: <script> function uklon() { var objSel = document.getElementById("SelectId"); l1=objSel.selectedIndex if (l1=="1") document.formText.t1.value="4567"; document.formText.t1.style.display="inline"; if (l1=="2") document.formText.t1.value="235"; if (l1=="text") document.formText.t1.style.display="none"; } </script> <form name="formText"> <select onChange="uklon()" id="SelectId"> <option >text</option> <option >1</option> <option >2</option> <input type="text" name="t1" value=""> </form> почему? |
Вы бы хоть сами попытались разобраться в том, что написали. У вас в l1 никогда и не будет текстового значения. А все потому, что selectedIndex возвращает индекс выбранной опции (спасибо, кэп), т.е. 0, 1, 2 и до самого конца. Вообще принято для option указывать value, или в вашей книжке про это не написано? Тогда шестая строка превращается в l1=objSel.selectedIndex.
ЗЫ. Начните, наконец, учить жабаскрипт по нормальным материалам. |
SkyLight,
для l1 нужно присвоить значение, выбранное в select'е, то есть активного option, так я понимаю? l1=objSel.value к этому не приводит. |
Если вы не добавили value к option'ам, то естественно ничего не получится
|
блин, как все просто... я ламер..
SkyLight, +1:) |
Часовой пояс GMT +3, время: 17:23. |