Текстовое поле появляется на флажок переключателя - PullRequest
1 голос
/ 24 августа 2011

У меня есть следующее ..

<table id='table_columns'>
    <td align="center">
        <input type="radio" name="WIDTH" value="1" <?php echo ($config->get('WIDTH','COLUMNS') == "1")?'CHECKED':'';?> />
        <p>4 Columns</p>
    </td>
    <td align="center">
        <input type="radio" name="WIDTH" value="2" <?php echo ($config->get('WIDTH','COLUMNS') == "2")?'CHECKED':'';?> />
        <p>3 Columns</p>
    </td>
    <td align="center">
        <input type="radio" name="WIDTH" value="3" <?php echo ($config->get('WIDTH','COLUMNS') == "3")?'CHECKED':'';?> />
        <p>Custom</p>
    </td>
    <tr>
        <td align="right">
            <p>Column 1</p>
        </td>
        <td align="left">
            <input class="txt" size="3" maxlength="3"  name="WIDTH1" Title="Insert the desired width" value="<?php echo $config->get('WIDTH1','COLUMNS')?>" />
        </td>
    </tr>

Когда установлен переключатель «Пользовательский», я бы хотел, чтобы появилось текстовое поле ниже. Если какие-либо другие переключатели отмечены, я не хочу, чтобы они отображались. Как бы я это сделал?

Спасибо

1 Ответ

1 голос
/ 24 августа 2011

Если переключатели отображаются на ячейку следующих строк, вы можете попробовать это:

<script type="text/javascript">
    $(function(){
        $("table input:radio").click(function(){
            var $radio = $(this);
            var index = $radio.closest("td").index();
            $radio.closest("tr").next().find("input:text").eq(index)
                .toggle($radio.is(":checked"));
        });
    });
</script>

или если в следующей строке есть только 1 текстовое поле, вы можете попробовать:

<script type="text/javascript">
    $(function(){
        $("table input:radio").click(function(){
            var $radio = $(this);
            $radio.closest("tr").next().find("input:text")
                .toggle($radio.is(":checked"));
        });
    });
</script>

Ваша разметка выглядит недействительной или вы просто неправильно скопировали / вставили

...