HTML
//FIRST TOGGLE
<div class='dropdown-cus' type='button'>
<div class='slidx'>
<span>MENU<i class='fas fa-plus'></i></span>
</div>
<div class='mfields hidden h-label'>
<label >NAME:</label><input type='text' value='' name='' class='re_'>
<label >URL:</label><input type='text' value='LINK HERE' name='' class='' >
<input type='hidden' value='' class='input-text' name=''>
</div>
</div>
//SECOND TOGGLE
<div class='dropdown-cus' type='button'>
<div class='slidx'>
<span>MENU<i class='fas fa-plus'></i></span>
</div>
<div class='mfields hidden h-label'>
<label >NAME:</label><input type='text' value='' name='' class='re_'>
<label >URL:</label><input type='text' value='LINK HERE' name='' class='' >
<input type='hidden' value='' class='input-text' name=''>
</div>
</div>
JS
$(document).ready(function(){
$(document).on('click','.slidx',function(){
$(".mfields").slideToggle( 'slow', function() {});
});
});
ЗДЕСЬ JS FIDDLE: http://jsfiddle.net/d2tcmqpo/2/
Итак, у меня есть два слайд-переключателя, пожалуйста, проверьте скрипку js, чтобы вы могли видеть, что я хочу, чтобы это произошло, если я нажму первый тумблер, то он откроется, но проблема в том, что когда я нажимаю первый тумблер, второй тумблер также открывается.
Я знаю, что могу решить эту проблему, используя разные имена классов для каждого переключателя. Но я не хочу так, почему? потому что, если у меня будет 100 переключателей, мне придется кодировать 100x моего текущего кода JQUERY, как этот.
$(document).on('click','.slidx_1',function(){
$(".mfields_1").slideToggle( 'slow', function() {});
});
$(document).on('click','.slidx_2',function(){
$(".mfields_2").slideToggle( 'slow', function() {});
});
$(document).on('click','.slidx_3',function(){
$(".mfields_3").slideToggle( 'slow', function() {});
});
и т. Д.
Я думаю, что, возможно, мне следует использовать jquery $(this)
, но это также не работает.
Есть ли способ решить это? Или у меня нет выбора, кроме как использовать другой класс для каждого переключателя?