Jquery在表中使textarea只读

时间:2014-09-15 07:25:23

标签: jquery

我有一张表,其中我在一列中有文本,在第二列中有textarea。我希望所有的输入框都是只读的,除了第一个。当受访者在第一个框中输入某个值时,其旁边的框变为可编辑状态,依此类推。 基本上我希望受访者顺序回答。下面是我的HTML但不知道如何使用jquery执行此操作。请提供代码建议。

<html>
    <head>

    </head>
    <body>
        <table>
            <tr>
                <td>
                    Reason 1
                </td>
                <td>
                    <input type="textarea">
                </td>
            </tr>
            <tr>
                <td>
                    Reason 2
                </td>
                <td>
                    <input type="textarea">
                </td>
            </tr>
            <tr>
                <td>
                    Reason 3
                </td>
                <td>
                    <input type="textarea">
                </td>
            </tr>
        </table>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

首先,textarea标记是错误的。它应该是<textarea>。所以将代码更改为:

<table>
    <tr>
        <td>
            Reason 1
        </td>
        <td>
            <textarea></textarea>
        </td>
    </tr>
    <tr>
        <td>
            Reason 2
        </td>
        <td>
            <textarea></textarea>
        </td>
    </tr>
    <tr>
        <td>
            Reason 3
        </td>
        <td>
            <textarea></textarea>
        </td>
    </tr>
</table>

您可以使用.next()进行工作onBlur事件。

$(document).ready(function(){
    $("textarea").prop("disabled", true);
    $("textarea:first").prop("disabled", false);
    $("textarea").blur(function(){
       if ($(this).val().length >  0)
           $(this).closest("tr").next("tr").find("textarea").prop("disabled", false);
    });
});

小提琴:http://jsfiddle.net/8o0p0d1c/