使用 JQUERY 在表单中获取数组选择的值

问题描述 投票:0回答:1

我在使用带有数组的表单中选定的值隐藏我的

Admin_Email_Address
时遇到问题

数组是

0-Activated
1-Deactivated

我想做的是,如果我从下拉列表中选择

1
,电子邮件表单将被隐藏,而当
0
时,它不会隐藏并且可以输入

<!-- STATUS --> 
<div class="col-lg-3 col-md-4">
    <?php $err = isset($_SESSION['sys_employees_edit_status_err']) ? 1 : 0; ?>
    <div class="form-group">
        <label for="status" class="mr-1<?php if ($err) { echo ' text-danger'; } ?>"><?php if ($err) { echo '<i class="far fa-times-circle mr-1"></i>'; } echo renderLang($lang_status); ?></label> <span class="right badge badge-success"><?php echo renderLang($label_required); ?></span>
        <select class="form-control required<?php if ($err) { echo ' is-invalid'; } ?>" id="status" name="status" required>
           
           
           <?php
            foreach ($status_arr as $status) {
                echo '<option value="' . $status[0] . '"';
                if (isset($_SESSION['sys_employees_edit_status_val'])) {
                    if ($_SESSION['sys_employees_edit_status_val'] == $status[0]) {
                        echo ' selected';
                    }
                }
                echo '>' . renderLang($status[1]) . '</option>';
            }
            ?>
        </select>
        <?php if ($err) {
            echo '<p class="error-message text-danger mt-1">' . $_SESSION['sys_employees_edit_status_err'] . '</p>';
            unset($_SESSION['sys_employees_edit_status_err']);
        } ?>
    </div>
</div>

<!-- ADMIN EMAL ADDRESS -->
<div class="col-lg-3 col-md-4">
    <div class="form-group">
        <label for="admin_email_address" class="mr-1<?php echo $err ? 'text-danger' : ''; ?>"> <?php echo $err ? '<i class="far fa-times-circle mr-1"></i>' : ''; echo "Admin Email Address" ?></label>
        <span class="right badge badge-success"><?php echo renderLang($label_required); ?></span>
        <input type="text" class="form-control required<?php echo $err ? ' is-invalid' : ''; ?>" id="admin_email_address" name="admin_email_address" placeholder="" required>
    </div>
</div> 

<script>
        $(".status").keyup(function() {
        if ($('select#status option:selected').val(); = 1 ) {
            $('#admin_email_address').attr('hidden', true);
            
        } else {
            $('#admin_email_address').attr('hidden', false);   
        }
    });

</script>

我尝试了很多次来获得它的价值,但它仍然不起作用

php html jquery arrays forms
1个回答
0
投票

我现在解决了它,我只是改变了jquery值来改变,所以它更容易

<!-- STATUS -->
                                <div class="col-lg-3 col-md-4">
                                    <?php $err = isset($_SESSION['sys_employees_edit_status_err']) ? 1 : 0; ?>
                                    <div class="form-group">
                                        <label for="status" class="mr-1<?php if ($err) { echo ' text-danger'; } ?>"><?php if ($err) { echo '<i class="far fa-times-circle mr-1"></i>'; } echo renderLang($lang_status); ?></label> <span class="right badge badge-success"><?php echo renderLang($label_required); ?></span>
                                        <select class="form-control required<?php if ($err) { echo ' is-invalid'; } ?>" id="status" name="status" required>
                                            <?php
                                            foreach ($status_arr as $status) {
                                                echo '<option value="' . $status[0] . '"';
                                                if (isset($_SESSION['sys_employees_edit_status_val'])) {
                                                    if ($_SESSION['sys_employees_edit_status_val'] == $status[0]) {
                                                        echo ' selected';
                                                    }
                                                }
                                                echo '>' . renderLang($status[1]) . '</option>';
                                            }
                                            ?>
                                        </select>
                                        <?php if ($err) {
                                            echo '<p class="error-message text-danger mt-1">' . $_SESSION['sys_employees_edit_status_err'] . '</p>';
                                            unset($_SESSION['sys_employees_edit_status_err']);
                                        } ?>
                                    </div>
                                </div>

                                <!-- ADMIN EMAIL ADDRESS -->
                                <div class="col-lg-3 col-md-4" id="admin_email_address_container" style="<?php echo (isset($_SESSION['sys_employees_edit_status_val']) && $_SESSION['sys_employees_edit_status_val'] == 1) ? '' : 'display: none;'; ?>">
                                    <div class="form-group">
                                        <label for="admin_email_address" class="mr-1<?php echo $err ? 'text-danger' : ''; ?>"> <?php echo $err ? '<i class="far fa-times-circle mr-1"></i>' : ''; echo "Admin Email Address" ?></label>
                                        <span class="right badge badge-success"><?php echo renderLang($label_required); ?></span>
                                        <input type="text" class="form-control required<?php echo $err ? ' is-invalid' : ''; ?>" id="admin_email_address" name="admin_email_address" placeholder="" required>
                                    </div>
                                </div>

                                <script>
                                    document.getElementById('status').addEventListener('change', function() {
                                        var adminEmailContainer = document.getElementById('admin_email_address_container');
                                        if (this.value == 0) {
                                            adminEmailContainer.style.display = '';
                                        } else {
                                            adminEmailContainer.style.display = 'none';
                                        }
                                    });
                                </script>
© www.soinside.com 2019 - 2024. All rights reserved.