Как скрыть поле ввода, если флажок пуст и все поля ввода имеют одинаковое имя - PullRequest
0 голосов
/ 18 октября 2018

Как скрыть поле ввода с тем же именем, если флажок не установлен

<?php do { ?>
<tr>
<td>    
<input name="id_check[]" type="checkbox" id="id" value="1" />
</td>
<td>    
<input name="tgl[]" type="text" />
</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

Я пытался использовать это

<script>
    $(function () {
        $('input[name="tgl"]').hide();

        //show it when the checkbox is clicked
        $('input[name="checkbox"]').on('click', function () {
            if ($(this).prop('checked')) {
                $('input[name="tgl"]').fadeIn();
            } else {
                $('input[name="tgl"]').hide();
            }
        });
    });
    </script>

, но это не сработало, может кто-нибудь помочьмне

1 Ответ

0 голосов
/ 18 октября 2018

Я сделал пример для вас.Обратите внимание, как я использую пользовательский атрибут для флажка с именем target-id , который будет сохранять целевой ввод ID для каждого флажка.

$(document).ready(function()
{
    // Hide all inputs type text at start.

    $("input[type='text']").hide();

    // Assign listeners to checkboxes.

    $("input[type='checkbox']").click(function()
    {
        var targetID = $(this).attr("target-id");

        if ($(this).is(":checked"))
            $("#" + targetID).fadeIn();
        else
            $("#" + targetID).fadeOut();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
<tr>
<td>
    <input name="id_check_1" type="checkbox" target-id="tgl_1" value="1"/>
</td>
<td>
    <input id="tgl_1" type="text"/>
</td>
</tr>
<tr>
<td>
    <input name="id_check_2" type="checkbox" target-id="tgl_2" value="1"/>
</td>
<td>
    <input id="tgl_2" type="text"/>
</td>
</tr>
<tr>
<td>
    <input name="id_check_3" type="checkbox" target-id="tgl_3" value="1"/>
</td>
<td>
    <input id="tgl_3" type="text"/>
</td>
</tr>
</table>
...