2016-03-09 7 views
0

У меня есть следующий код. Я хочу, чтобы второй вариант автоматически отключился, если value==0. Я знаю, что могу отключить эту опцию, добавив класс disabled в тег <li>, но как добавить этот класс в соответствии со значением параметра?Отключить опцию выпадающего списка на основе значения параметра

function analysisActions(key, value){ 

    var str= '<div class="dropdown">' + 
     '<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Actions '+ 
     '<span class="caret" style="border-top:4px solid white"></span></button>'+ 
     '<ul class="dropdown-menu">'+ 
     '<li><a href="#" data-target="#A_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key +'" id="a_' + key + '">A</a></li>'+ 
     '<li><a href="#" data-target="#B_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key +'" data-id="' + key + '" id="b_' + key + '">B</a></li>'+ 
     '</ul>'+ 
    '</div>'; 

return str; 
} 

ответ

2
function analysisActions(key, value) { 

    var disabledStr = value == 0 ? ' class="disabled" ' : ''; 
    var disable = value == 0 ? ' disabled' : ''; 

    var str = '<div class="dropdown">' + 
     '<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Actions ' + 
     '<span class="caret" style="border-top:4px solid white"></span></button>' + 
     '<ul class="dropdown-menu">' + 
     '<li><a href="#" data-target="#A_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key + '" id="a_' + key + '">A</a></li>' + 
     '<li' + disabledStr + '><a ' + disable + ' href="#" data-target="#B_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key + '" data-id="' + key + '" id="b_' + key + '">B</a></li>' + 
     '</ul>' + 
     '</div>'; 

    return str; 
} 
+0

Спасибо , Он работает, но по какой-то причине, когда я нажимаю на отключенную опцию, появляется всплывающее диалоговое окно. Ты знаешь почему? – Supertwister

+0

вам нужно отключить a, чтобы отключить клик. я обновил свой ответ. – irfan

2

это просто use if value == 0 перед добавлением li к string.If value == 0 добавить класс class="disabled"

var str = '<div class="dropdown">' + 
    '<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Actions ' + 
    '<span class="caret" style="border-top:4px solid white"></span></button>' + 
    '<ul class="dropdown-menu">' + 
    '<li><a href="#" data-target="#A_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key + '" id="a_' + key + '">A</a></li>'; 
     if (value == 0) { 
      str += '<li class="disabled"><a href="#" class="open-AddBookDialog" data-id="' + key + '" data-id="' + key + '" id="b_' + key + '">B</a></li>'; 
     } 
     else { 
      str += '<li><a href="#" data-target="#B_form" data-toggle="modal" class="open-AddBookDialog" data-id="' + key + '" data-id="' + key + '" id="b_' + key + '">B</a></li>'; 
     } 
     str += '</ul>' + 
'</div>'; 
+0

Спасибо. Он работает, но по какой-то причине, когда я нажимаю на отключенную опцию, появляется всплывающее диалоговое окно. Ты знаешь почему? – Supertwister

+0

@Supertwister Я обновил ответ, я удалил 'data-target = '# B_form" и 'data-toggle =" modal "', поэтому, когда 'value == 0', он не откроет мода – shu

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