Как скрыть элемент в модальном fade

#javascript #jquery #html #bootstrap-modal

#javascript #jquery #HTML #bootstrap-модальный

Вопрос:

Я хочу сначала скрыть текст «Введите пароль» и пустое поле и показывать, когда я нажимаю на переключатель «Приватно». Мой код следующий. Однако это не работает, поскольку, когда я нажимаю «создать новую комнату», «Введите пароль» уже отображается в модальном контенте, и ничего не произошло, когда я нажимаю «Приватно». Как я могу исправить свой код? Большое вам спасибо!

 <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Create Role</title>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <script>
             $(document).ready(function(){
               $("#pwd, #pwdblank").hide();
               $("#inlineRadio2").click(function(){
                  $("#pwd, #pwdblank").show(500);
               });
             });

      </script>
</head>
<body>
    <nav class="navbar navbar-default">
        <div class="container">

            <ul class="nav navbar-nav">
                <li class="active"><a href="/index">Rooms</a></li>
                <li><a data-toggle="modal" data-target="#createRoomModal">Create New Room</a></li>

            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
            </ul>
        </div>
    </nav>
    <div class="container">
        <div class="row">

        </div>
    </div>

    <div id="createRoomModal" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">amp;times;</button>
                    <h4 class="modal-title">Create a new room</h4>
                </div>
                <div class="modal-body">
                    <form id="form_room" method="post" action="/create-room">

                        <fieldset class="form-group">
                            <label class="form-check-inline">
                                <input class="form-check-input" type="radio" name="room_type" id="inlineRadio1" value="public"> Public
                            </label>
                            <label class="form-check-inline">
                                <input class="form-check-input" type="radio" name="room_type" id="inlineRadio2" value="private"> Private
                            </label>
                            <label class="form-check-inline">
                                <p id="pwd">Enter password</p>
                                <input class="form-check-input" type="text" name="text" id="pwdblank">
                            </label>
                        </fieldset>


                    </form>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-success" form="form_room">Create</button>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="script-index.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>
  

Комментарии:

1. что вы подразумеваете под первым пробелом???

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

Ответ №1:

Привет, Смотрите Приведенный ниже, надеюсь, вы ищете это…

 $(document).ready(function(){
               $("#pwd, #pwdblank").hide();
               $("#inlineRadio2").click(function(){
                  $("#pwd, #pwdblank").show(500);
               });
			   
			    $("#inlineRadio1").click(function(){
                 $("#pwd, #pwdblank").hide(500);
               });
			   
			   
             });  
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="script-index.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
	 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<html lang="en">
    <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Create Role</title>
        <!-- Latest compiled and minified CSS -->      
</head>

<body>
    <nav class="navbar navbar-default">
        <div class="container">

            <ul class="nav navbar-nav">
                <li class="active"><a href="/index">Rooms</a></li>
                <li><a data-toggle="modal" data-target="#createRoomModal">Create New Room</a></li>

            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
            </ul>
        </div>
    </nav>
    <div class="container">
        <div class="row">

        </div>
    </div>

    <div id="createRoomModal" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">amp;times;</button>
                    <h4 class="modal-title">Create a new room</h4>
                </div>
                <div class="modal-body">
                    <form id="form_room" method="post" action="/create-room">

                        <fieldset class="form-group">
                            <label class="form-check-inline">
                                <input class="form-check-input" type="radio" name="room_type" id="inlineRadio1" value="public"> Public
                            </label>
                            <label class="form-check-inline">
                                <input class="form-check-input" type="radio" name="room_type" id="inlineRadio2" value="private"> Private
                            </label>
                            <label class="form-check-inline">
                                <p id="pwd">Enter password</p>
                                <input class="form-check-input" type="text" name="text" id="pwdblank">
                            </label>
                        </fieldset>


                    </form>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-success" form="form_room">Create</button>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
</body>
 </html>  

Комментарии:

1. Привет, Asifuzzaman, ваш код работает, когда я запускаю фрагмент кода, но я не знаю, почему вы разделяете код и куда мне поместить первый блок вашего кода? Спасибо!

2. напишите код jquery внутри тега <script> перед закрытием тега <body>, тогда он будет работать, или перейдите по этой ссылке notepad.pw/pt6avv10 вы получите весь код в текстовом формате

3. Дайте мне знать, поняли вы это или нет 🙂 .

4. рад помочь 🙂

Ответ №2:

Используйте событие show.bs.modal следующим образом

 $('#myModal').on('show.bs.modal', function (e) {
  // do something...
  // this code runs just before the modal is shown
  // hide your field here
});
  

Используйте ссылку на документацию здесь