2016-12-29 2 views
0

Во-первых, приносим извинения, что вы обнаружите, что это действительно дублирует другие вопросы, но поскольку я уже пытаюсь использовать большинство решений, но все же застрял посередине, то это мой последний выбор для получения решений. Я попробовать примеры, как это:Получить выбранный вариант по значению

var user_dept = val[0].user_dept; 
$('#user_dept option:selected').attr('value', user_dept); 

и

var user_dept = val[0].user_dept; 
$('#user_dept option[value="'+user_dept+'"]').attr('selected', true); 

и а это:

$('#user_dept').append($('<option>',{ 
     value: val[0].user_dept, 
     })); 

Но не смог получить проблемы решены. FYI, я объявляю все эти коды внутри инструкции if на jQuery. Желаем получить ответы на jquery, если это возможно, поскольку я использую jquery для своей работы.

Отредактировано:

Как я упоминаю об этих комментариях ниже, я получаю выберите вариант порожденную этой функцией,

function UserDept() 
{ 
    $.getJSON('user_management_lib.php?mode=getDepartmentList', function(data){ 
    var list = []; 
    $.each(data, function(index, value){ 
     list += '<option value="'+value['department_id']+'">'+value['department']+'</option>' 
    }); 
    $('#user_dept').html(list); 
    }); 
} 

Но для выбранного варианта, мне нужно, чтобы это было сделано по стоимости, равны столбцу user_dept из отдельной таблицы, которая абсолютно не связана с функцией выше. Поскольку я использую jQuery и массив, я объявлю это в $('#user_dept').val(val[0].user_dept);. При необходимости уточню. Извините за любые неудобства.

Отредактировано 30/12/2016: Код ниже представляет собой функцию обратного вызова с использованием ajax, где этот вопрос также включен. Итак, это довольно неполно, так как я играю, чтобы это исправить.

$.ajax({ 
    cache: false, 
    url: 'ldap_lib.php', 
    data:'mode=findLDAPServerInfo&ldapid=<?php echo $target_lid; ?>', 
    type:'POST', 
    dataType:'json', 
    success: function(val){ 
    UserDept(); 
    UserRole(); 
    GlobalDept(); 
    $('#mode').val('editLDAPServer'); 
    $('#l_name').val(val[0].l_name); 
    $('#l_desc').val(val[0].l_desc); 
    $('#l_ip1').val(val[0].l_ip1); 
    $('#l_port1').val(val[0].l_port1); 
    $('#l_ip2').val(val[0].l_ip2); 
    $('#l_port2').val(val[0].l_port2); 
    $('#l_domainname').val(val[0].l_domain); 
    $('#l_loginname').val(val[0].l_loginname); 
    $('#l_loginpwd').val(val[0].l_loginpwd); 
    $('#l_mobile').val(val[0].l_mobile); 
    $('#l_basedn').val(val[0].l_basedn); 
    $('#l_filter').val(val[0].l_filter); 
    $('#l_type').val(val[0].l_type); 
    $('#l_loginmode').val(val[0].l_loginmode); 
    $('#l_scope').val(val[0].l_scope); 
    $('#sync_frequency').val(val[0].sync_frequency); 
    $('#sync_time').val(val[0].sync_hour); 

    if(val[0].sync_ul == 't'){ 
     $('#l_sync_ul').prop('checked', true); 
     $('#tip_ul_dept').attr('style','display:block'); 
     var user_dept = val[0].user_dept; 
     var user_role = val[0].user_role; 
     //$('#user_dept option[value="'+user_dept+'"]').attr('selected', true); 
     //$('#user_role option[value="'+user_role+'"]').attr('selected', true); 
     //$('#user_dept option:selected').attr('value', user_dept); 
     console.log($("#user_dept option")); 
    } else{ 
     $('#l_sync_ul').prop('checked', false); 
     $('#tip_ul_dept').attr('style','display:none'); 
    } 
    if(val[0].sync_gab == 't'){ 
     $('#l_sync_gab').prop('checked', true); 
     $('#tip_gab_dept').attr('style','display:block'); 
     // $('#gab_dept').val(val[0].gab_dept); 
    } else{ 
     $('#l_sync_gab').prop('checked', false); 
     $('#tip_gab_dept').attr('style','display:none'); 
    } 
    //$('#gab_dept').val(val[0].gab_dept); 
    $('#user_dept').val(val[0].user_dept); 
    }, 
    error: function(){ 
    alert('Failed To Retrieve Server'); 
    } 
}); 
+0

Вы используете любой плагин для выбора? – mayk

+0

Я использовал bootstrap-шаблон для своего проекта, но не знаю, если какой-либо плагин используется для этого. извините за неудовлетворенный ответ. –

+0

Вы можете скопировать свой html-код здесь? – mayk

ответ

1

Если вы просто пытаетесь получить значение выбора элемента, то есть, значение текущего выбранного параметра элемента, принадлежащего выбора элемента, вы можете использовать функцию .val() JQuery в: $('#user_dept').val().

Если вы пытаетесь получить элемент option, который имеет заданное значение, как указано в заголовке вашего сообщения, используйте $('#user_dept option(value="' + val + '")').

Вышеупомянутое предполагает, что val является строковым/строковым значением - вы использовали val[0] в своем примере кода, который указывает, что val - это массив. Используйте val[0], если это так.

Edit Вы пытаетесь установить значение выбора элемента перед выбором параметров были созданы (они генерируются асинхронны из запроса JSON).

Прежде чем делать это, убедитесь, что параметры были созданы. У меня есть updated your JSFiddle с примером того, как вы можете это сделать.

+0

находится внутри .val() нужно поставить значение, например .val ('sc123455')? –

+0

Я попробовал ответы выше и сделал это так: '$ ('# user_dept'). Val (val [0] .user_dept);' но все равно не работает. Вот мой html-код, связанный с этим ' ' –

+0

Любые ошибки? Что такое 'val', равное? –

Смежные вопросы