Показать сообщение отдельно
  #1 (permalink)  
Старый 08.09.2015, 14:48
Аватар для tvixa
Аспирант
Отправить личное сообщение для tvixa Посмотреть профиль Найти все сообщения от tvixa
 
Регистрация: 09.09.2013
Сообщений: 33

Передача нового значения value в select
Добрый день. У меня возникла небольшая проблемка с изменением значения в выпадающем списке. Суть такова: есть блок со списком элементов, у каждого элемента свои свойства.

При клике на какой-нибудь элемент списка слева в правой таблице появляются соответствующие значения. Текстовые поля input правильно отображают получаемые значения, а вот с выпадающим списком получается запара. Я получаю от сервлета его значение (назовем его merchantId), и должна найти и сравнить со значением получаемым из другого сервлета. Вот этот второй сервлет возвращает список всех участников : их id и name . Мне необходимо вставить в значение value переменную merchantId и установить соответствующее этому id name и сделать его selected. Второй день сижу... Помогите пожалуйста. Вот костяк
<div class="fraud_event_block_2">
            <table id="fraudListSettings" class="fraudListSettings">
                <tr>
                    <th>Настройка</th>
                    <th>Коммерсант</th>
                    <th>Значение</th>
                </tr>
                <tr>
                    <th>проверка</th>
                    <th>проверчкмммм</th>
                    <th>проверка значения</th>
                </tr>
            </table>
        </div>


А вот мои запросы
function getMerchantList(){
        var xml='<request type="mng_GetMerchantList">'+
            '<sessionId>' + adSessionId + '</sessionId>'+
            '<pageSize>' + 999999 + '</pageSize>' +
            '<pageNum>' + 1 + '</pageNum>' +
            '</request>';
        postxml('/j/LS/mng/merchant/mng_GetMerchantList', xml,
            function(xml){
                $(xml).find('Merchant').each(function (){
                    $('.fraudMerchantList').append('<option value="' + $(this).find('id').text() + '">'
                        + $(this).find('name').text() + '</option>');
                });

                /*$(".fraudMerchantList option[value='1']").attr("selected", "selected");*/
            })
    }
    var counter = 0;
    function selectFraudTypeSettings(xml){
        $(xml).find("fraudEventTypeDataList").each(function(){
            var items = $(this).attr('totalCount');
            alert(items);
            $("#fraudListSettings").html("");
            if (items > 0){
                $(this).find('fraudEventTypeData').each(function(){
                    varName = $(this).find('varName').text();
                    data = $(this).find('data').text();
                    FroMerchantId = $(this).find('merchantId').text();
                    eventTypeDataId = $(this).find('id').text();
                    if (eventTypeDataId != 0){
                        $("#fraudListSettings").append('<tr><th><input type="text" value="'+ varName +'"></th><th class="test"><select class="fraudMerchantList" id="'+counter+'"></select><span>'+FroMerchantId+'</span></th><th><input type="text" value="'+ data +'"/></th></tr>');
                    }
                    counter++;
                });
                getMerchantList();
                var myselect = $("#fraudListSettings select"+ counter);
                options = myselect.options;
                for(var i = 0; i< options.length; i++){
                    if(options[i].value == FroMerchantId){
                        $(("#"+counter).option[value=''+FroMerchantId+'']).attr("selected", "selected");
                    }
                }
            }
        })
    }


Если коротко, мне просто нужно установить выбранным в вывадающем поле значение с id совпадающим с полученным. Надеюсь подробно расписала. Заранее спасибо
Циферки под закрашенными полями это получаемые id - шники клиентов
Ответить с цитированием