10.08.2016, 09:33
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Тот факт, что datalist обеспечивает только автозаполнение, можно понять по поведению списка возможных опций. Их все по-одной можно удалить выбирая и нажимая del. Однако, при следующем щелчке в input'е, список появится целиком как ни в чем не бывало. Это значит он рендерится на лету, после щелчка по связанному полю ввода, которых, кстати еще, может быть больше чем одно.
Никакого отношения datalist не имеет к select'у. Это всего лишь интерфейсный сервис, не более. Обычно список автозаполнения лежит в регистре под названием MRU = most recent used (list) и когда юзер давит del, то выбранный итем и удаляется из этого MRU List. А из datalist оперативно ничего нельзя удалить, у него нет selectedIndex, и нет ничего полезного вообще кроме его value.
Теперь понятно?
Последний раз редактировалось warren buffet, 10.08.2016 в 09:36.
|
|
10.08.2016, 10:59
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
warren buffet,
Уважаемый господин профессор, если вы внимательно почитаете комментарии в теме, то возможно обнаружите, что полный и исчерпывающий ответ на вопрос мною получен от пользователя Manyasha, за что она получила заслуженную благодарность. Поэтому не очень понятно зачем вы все это пишете.
|
|
10.08.2016, 13:13
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Тебе непонятно из-за вселенского ЧСВ твоего, свойственного всем глупцам вроде тебя. Кроме тебя тут еще дофига читателей, которые могли бы подумать, что твой черезжопный метод - это правильно. А теперь они прочтут и поймут, что твой метод - черезжопный, а делать надо как спецификация велит.
|
|
10.08.2016, 14:10
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
Сообщение от warren buffet
|
Тебе непонятно из-за вселенского ЧСВ твоего, свойственного всем глупцам вроде тебя. Кроме тебя тут еще дофига читателей, которые могли бы подумать, что твой черезжопный метод - это правильно.
|
Это и есть вселенское ЧСВ...Если не я - то все подумают что-то неправильное, на мне лежит великая миссия сообщить всем как правильно.
У меня нет никакого метода. Я задал вопрос, получил от Manyasha исчерпывающий ответ. То что написал(а) manyasha тоже черезжопный метод или вы не утруждаете себя чтением чужих сообщений?
|
|
10.08.2016, 16:21
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
На каждом человеке лежит великая миссия сообщать всем как правильно, иначе бы ты умнег не выжил и вообще бы не жил. Ты бы умер в детстве от ветрянки или дизентрии, если бы люди не сообщали другим людям как правильно прививаться и умываться. Я уж не говорю о тех людях, которые сообщали всем как правильно считать с помощью машин. Если бы они не рассказывали всем как правильно, у тебя даже 8-летнего ноута не было бы, ибо не было бы ноутов и компов вообще. Понял?
Manyasha тебе написала полный бред, ибо без Manyasha браузер делает все сам и получше. Или ты не веришь, что без скриптов все работает?
|
|
10.08.2016, 16:22
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Ну, ты же не первый такой die hard. Если правильно манипулировать, ты даже гадить под себя начнешь лишь бы не признавать правильности ходить по большому в туалет с водяным смывом.
|
|
10.08.2016, 16:28
|
Интересующийся
|
|
Регистрация: 09.08.2016
Сообщений: 20
|
|
Омерзительнейший чувак. К тому же туповатый. Очень жаль на таком прекрасном сайте натыкаться на подобного персонажа..
|
|
10.08.2016, 16:50
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Тут ты натыкаешься на свою же аксиоматику. Если каждый имеет право на свое мнение, то у меня есть точно такое же право. У меня есть мнение, что ты придумал велосипед с треугольными колесами и можешь теперь доказывать до пенсии, что на нем ездить можно.
|
|
10.08.2016, 16:57
|
Профессор
|
|
Регистрация: 21.09.2015
Сообщений: 196
|
|
warren buffet,
Цитата:
|
браузер делает все сам и получше
|
Может покажите пример, как должно быть? Я знаю, что мои знания о javascript с трудом можно назвать средними, поэтому, хотелось бы увидеть грамотный вариант применения datalist.
Покажите, пожалуйста, альтернативный вариант приведенного мною кода без применения скриптов?
<input name="filt" list="dl_continents" id="filt" />
<datalist id="dl_continents">
<option data-value = "1" value="EUROPE"/>
<option data-value = "2" value="AMERICA"/>
<option data-value = "3" value="ASIA"/>
<option data-value = "4" value="AFRICA"/>
</datalist>
<input type="button" onclick = "getValue()" value = "test">
<script>
function getValue(){
var elem = document.getElementById("filt");
var opt=document.querySelector("#dl_continents option[value='"+elem.value+"']");
if (opt){
alert(opt.dataset.value)
}else{
alert("Err")
}
}
</script>
|
|
10.08.2016, 19:43
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Manyasha, ты сперва скажи зачем тебе индекс континента в сервисе автозаполнения? Ты хочешь его отправить на сервер как индекс, а не как название? Типа там есть список континентов и по условиям нормализации надо записывать индексы.
Так вот Manyasha, для этих целей используют select, именно. А datalist используют для других целей. То есть вы с ТС соорудили никому не нужный, бесполезный и бессмысленный скрипт, просто потому что не понимаете чего хотите.
|
|
|
|