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,833

А какое отношение к выбору из списка
<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,833

М.б. так?

<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

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

во внешнем пользовательском скрипте мне нужно получить номер машины при выборе из списка. Прикрепил картинку. Справа, при каждом обновлении поля, я получаю номер, а слева ни как не получается
Изображения:
Тип файла: jpg Screenshot_2.jpg (57.2 Кб, 8 просмотров)
Ответить с цитированием
  #5 (permalink)  
Старый 23.04.2019, 15:43
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,833

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,833

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 16:22
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 10:33
Как послать в аякс выбранное значение из списка? Hurray jQuery 3 28.02.2012 19:30