Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2019, 18:46
Новичок на форуме
Отправить личное сообщение для olberd Посмотреть профиль Найти все сообщения от olberd
 
Регистрация: 14.08.2012
Сообщений: 9

Выпадающий список ajax combobox получить выбранное значение
Прошу помощи, как получить значение номера машины при выборе из списка, страница не моя, получить значение нужно со стороны клиента.

<div onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$fvTrip$ddlCarNums\',\'\')', 0)"
    id="MainContent_fvTrip_ddlCarNums" style="display:inline;">
    <table id="MainContent_fvTrip_ddlCarNums_Table" class="ajax__combobox_inputcontainer" cellspacing="0"
        cellpadding="0"
        style="border-width:0px;border-style:None;border-collapse:collapse;display:inline;position:relative;top:5px;">
        <tbody>
            <tr>
                <td class="ajax__combobox_textboxcontainer"><input name="ctl00$MainContent$fvTrip$ddlCarNums$TextBox"
                        type="text" value="(не выбран)" id="MainContent_fvTrip_ddlCarNums_TextBox" autocomplete="off"
                        style="margin: 0px;"></td>
                <td class="ajax__combobox_buttoncontainer"><button id="MainContent_fvTrip_ddlCarNums_Button"
                        type="button"
                        style="visibility: visible; height: 19px; width: 19px; margin: 0px; padding: 0px;"></button>
                </td>
            </tr>
        </tbody>
    </table><input type="hidden" name="ctl00$MainContent$fvTrip$ddlCarNums$HiddenField"
        id="MainContent_fvTrip_ddlCarNums_HiddenField" value="0">
</div>


<div class="">
    <ul id="MainContent_fvTrip_ddlCarNums_OptionList" class="ajax__combobox_itemlist"
        style="display: none; visibility: hidden; z-index: 10000; overflow: hidden; width: 178px; position: absolute; height: 368px;">
        <li>(не выбран)</li>
        <li>А161МН177</li>
        <li>В136НО799</li>
        <li>В559НА67</li>
        <li>В599НР750</li>
        <li>Е599НР750</li>
        <li>О161МН177</li>
        <li>О924МУ197</li>
    </ul>
</div>


Пробовал так, ничего не получается, на других input работает, там где нет ajax__combobox

Код:
document.addEventListener('change', function(e) {
    if(e.target && e.target.id == 'MainContent_fvTrip_ddlCarNums_TextBox') {
        var am = document.getElementById("MainContent_fvTrip_ddlCarNums_TextBox");
        console.log(am.value);
   }
});
и так
Код:
 var am = document.getElementById("MainContent_fvTrip_ddlCarNums_TextBox");
    function changeAm(){
         console.log(am.value);
      }
    }
    am.addEventListener('change', changeAm );
Ответить с цитированием
  #2 (permalink)  
Старый 23.04.2019, 11:18
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

А какое отношение к выбору из списка
<ul id="MainContent_fvTrip_ddlCarNums_OptionList"
имеет
id == 'MainContent_fvTrip_ddlCarNums_TextBox' ?
Ответить с цитированием
  #3 (permalink)  
Старый 23.04.2019, 12:00
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

М.б. так?

<div onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$fvTrip$ddlCarNums\',\'\')', 0)"
    id="MainContent_fvTrip_ddlCarNums" style="display:inline;">
    <table id="MainContent_fvTrip_ddlCarNums_Table" class="ajax__combobox_inputcontainer" cellspacing="0"
        cellpadding="0"
        style="border-width:0px;border-style:None;border-collapse:collapse;display:inline;position:relative;top:5px;">
        <tbody>
            <tr>
                <td class="ajax__combobox_textboxcontainer"><input name="ctl00$MainContent$fvTrip$ddlCarNums$TextBox"
                        type="text" value="(не выбран)" id="MainContent_fvTrip_ddlCarNums_TextBox" autocomplete="off"
                        style="margin: 0px;"></td>
                <td class="ajax__combobox_buttoncontainer"><button id="MainContent_fvTrip_ddlCarNums_Button"
                        type="button"
                        style="visibility: visible; height: 19px; width: 19px; margin: 0px; padding: 0px;"></button>
                </td>
            </tr>
        </tbody>
    </table><input type="hidden" name="ctl00$MainContent$fvTrip$ddlCarNums$HiddenField"
        id="MainContent_fvTrip_ddlCarNums_HiddenField" value="0">
</div>


<div class="">
    <ul id="MainContent_fvTrip_ddlCarNums_OptionList" class="ajax__combobox_itemlist"
        style="display: none;  visibility: hidden; z-index: 10000; overflow: hidden; width: 178px; position: absolute; height: 368px;">
        <li>(не выбран)</li>
        <li>А161МН177</li>
        <li>В136НО799</li>
        <li>В559НА67</li>
        <li>В599НР750</li>
        <li>Е599НР750</li>
        <li>О161МН177</li>
        <li>О924МУ197</li>
    </ul>
</div>
<script>
var list = document.getElementById("MainContent_fvTrip_ddlCarNums_OptionList");
document.getElementById("MainContent_fvTrip_ddlCarNums_Button").onclick = function() {
     list.style.display = "block";
     list.style.visibility =  "visible";
}
list.addEventListener('click', function(e) { 
   document.getElementById("MainContent_fvTrip_ddlCarNums_TextBox").value = e.target.textContent;   
   list.style.display = "none";
});
</script>

Последний раз редактировалось Dilettante_Pro, 23.04.2019 в 13:54.
Ответить с цитированием
  #4 (permalink)  
Старый 23.04.2019, 15:00
Новичок на форуме
Отправить личное сообщение для olberd Посмотреть профиль Найти все сообщения от olberd
 
Регистрация: 14.08.2012
Сообщений: 9

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

во внешнем пользовательском скрипте мне нужно получить номер машины при выборе из списка. Прикрепил картинку. Справа, при каждом обновлении поля, я получаю номер, а слева ни как не получается

Последний раз редактировалось olberd, 22.08.2022 в 21:12.
Ответить с цитированием
  #5 (permalink)  
Старый 23.04.2019, 15:43
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

olberd,
Суть ответа в том, что проверять нужно не изменение в input, а выбор из списка.
Как-то так
document.getElementById("MainContent_fvTrip_ddlCarNums_OptionList").addEventListener('click', function(e) { 
   console.log( e.target.textContent);   
});

Последний раз редактировалось Dilettante_Pro, 23.04.2019 в 15:50.
Ответить с цитированием
  #6 (permalink)  
Старый 23.04.2019, 16:43
Новичок на форуме
Отправить личное сообщение для olberd Посмотреть профиль Найти все сообщения от olberd
 
Регистрация: 14.08.2012
Сообщений: 9

Все Id перебрал, события не происходят
Ответить с цитированием
  #7 (permalink)  
Старый 23.04.2019, 16:57
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

olberd,
Какие события?
Ответить с цитированием
  #8 (permalink)  
Старый 23.04.2019, 18:54
Новичок на форуме
Отправить личное сообщение для olberd Посмотреть профиль Найти все сообщения от olberd
 
Регистрация: 14.08.2012
Сообщений: 9

События click и change.
Я так понимаю, вот что это за список.
http://www.ajaxcontroltoolkit.net/Co.../ComboBox.aspx
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение инпута vano_mig Events/DOM/Window 6 22.09.2017 00:57
как получить значение псевдокласса :valid/:invalid ? persikova Events/DOM/Window 6 14.07.2017 10:09
получить значение по клику gudzik Общие вопросы Javascript 6 11.12.2012 18:22
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Как послать в аякс выбранное значение из списка? Hurray jQuery 3 28.02.2012 21:30