Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   замена select, onchange на a href, onclick (https://javascript.ru/forum/events/55833-zamena-select-onchange-na-href-onclick.html)

koyot777 16.05.2015 13:01

замена select, onchange на a href, onclick
 
Всем привет! Подскажите возможно ли такое? :)

Есть выпадающий список который генерируется средствами PHP и при выборе значения по onchange="this.form.submit()" происходит сортировка элементов на странице в зависимости от выбранного value

Как мне сделать ссылку для того чтобы она осуществляла теже функции что и выпадающий список но передавало одно занчение (value="12")

Пробовал так:

<a href="#"  id="catordering" name="catordering" onclick="this.form.submit() return false;" value="12">Упорядочить по оценкам</a>


- но ничего не вышло

В чем моя ошибка или я что-то упустил?

вывод выпадающего списка я отключал в коде.

Подскажите как мне решить данную задачу?

пример с выпадающим списком который работает но он неудобен:

<select id="catordering" name="catordering" class="inputbox" size="1" onchange="this.form.submit()">ev
<option value="6">по дате</option>
<option value="12" selected="selected">по голосам</option>
<option value="16">по просмотрам</option>
</select>

Sigizmund2012 16.05.2015 16:04

Цитата:

Сообщение от koyot777 (Сообщение 371140)
Всем привет! Подскажите возможно ли такое? :)

Есть выпадающий список который генерируется средствами PHP и при выборе значения по onchange="this.form.submit()" происходит сортировка элементов на странице в зависимости от выбранного value

Как мне сделать ссылку для того чтобы она осуществляла теже функции что и выпадающий список но передавало одно занчение (value="12")

Пробовал так:

<a href="#"  id="catordering" name="catordering" onclick="this.form.submit() return false;" value="12">Упорядочить по оценкам</a>


- но ничего не вышло

В чем моя ошибка или я что-то упустил?

вывод выпадающего списка я отключал в коде.

Подскажите как мне решить данную задачу?

пример с выпадающим списком который работает но он неудобен:

<select id="catordering" name="catordering" class="inputbox" size="1" onchange="this.form.submit()">ev
<option value="6">по дате</option>
<option value="12" selected="selected">по голосам</option>
<option value="16">по просмотрам</option>
</select>

Попробуйте так:
<select id="catordering" name="catordering" class="inputbox" size="1" onchange="this.form.submit()">ev
<option value="6">по дате</option>
<option value="12" selected="selected">по голосам</option>
<option value="16">по просмотрам</option>
</select>

<button id="changer">По дате</button>


<script>

var select = document.getElementById('catordering'),
    button = document.getElementById('changer');
    button.onclick = function(e){
        select.options[0].selected = true;
        select.onchange();
    };

</script>

koyot777 17.05.2015 14:34

Спасибо за помощь, все работает! Зделал кнопку изображением и все удачно вписалось в дизайн сайта.

kostyanet 17.05.2015 18:15

Цитата:

Сообщение от koyot777
и при выборе значения по onchange="this.form.submit()"

Это потому что надо просто ссылки генерить, тогда интерфейс может быть каким хочешь - хочешь списком, хочешь - кнопки, или даже голосовым.

kostyanet 17.05.2015 18:29

В список со ссылками просто добавляется onchange="{location.assign(this.value)}" и все. Ну а без списка - просто все идет в href'ы

Sigizmund2012 18.05.2015 08:39

Цитата:

Сообщение от kostyanet (Сообщение 371252)
В список со ссылками просто добавляется onchange="{location.assign(this.value)}" и все. Ну а без списка - просто все идет в href'ы

Ты хоть сам-то понимаешь тот бред, который несёшь?
P.S. Вот это "{location.assign(this.value)}" шаблон для Angular шоле?

kostyanet 18.05.2015 14:58

Чувак явно предисловий начитался. Там было написано что такое ангуляр? Расскажите.

Sigizmund2012 18.05.2015 15:16

Цитата:

Сообщение от kostyanet (Сообщение 371373)
Чувак явно предисловий начитался. Там было написано что такое ангуляр? Расскажите.

Вы очень бессвязно выражаете свои мысли. Я минут 5 втыкал, прежде чем понял, что вы имеете ввиду. Эта смесь шизофазии и быдланского сленга жутко бесит. Касательно Ангуляра: "{location.assign(this.value)}", зачем здесь фигурные скобки? Это слегка похоже на шаблонизатор джаваскрипта.

kostyanet 18.05.2015 16:08

Слушайте, мне ваши ассоциации вообще не стучат, на что там что похоже. Для меня похоже на тело функции, коим оно и является в сущности.

Что касается тезауруса, то если хотите урок грамотной речи даду. Например вы задаете вопрос что вас не поняло, я профтыкаю ответ.

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

kostyanet 18.05.2015 16:12

Чтобы генерить ссылки надо написать или найти генератор ссылок, который поддерживает уже существующий набор параметров, добавляет к ним новые или удаляет которые не нужны. Тогда с любого места скрипта на сервере вы делаете какие угодно ссылки без всяких форм и списков.

Например класс сортировки добавил свой ключик o=dd, класс пагинации нагенерил ссылок с этим ключиком, в то время как класс сортировки выкинул ключик p (page), потому что новая сортировка должна начинаться со страницы 1, иначе у юзера башню снесет.

рони 18.05.2015 17:17

Цитата:

Сообщение от koyot777
вывод выпадающего списка я отключал в коде.

Подскажите как мне решить данную задачу?

необходимо селект заменить скрытым инпут с таким же name как у селект и тогда можно так
<input name="catordering" type="hidden"  value="12" >
<a href="#"   onclick="this.form.submit()" >Упорядочить по оценкам</a>


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