当从同一行中按下按钮时,如何禁用出现在''中的文本字段?

时间:2019-02-07 13:08:55

标签: jquery html

我使用jQuery编写此代码以创建动态表。当我单击保存按钮时,所有行输入文本字段均被禁用。我只需要禁用从中按下保存按钮的输入字段。 (每行都有自己的保存按钮,这是由jQuery函数完成的),请运行此代码以了解更多信息。

<!DOCTYPE html>
<html>
<head>
    <title>Dyanamic Table</title>
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

    <script type="text/javascript" src="valid.js">

    </script>
    <style type="text/css">
    table{
        width: 80%;
        margin: 20px 0;
        border-collapse: collapse;
    }
    table, th, td{
        border: 1px solid #cdcdcd;
    }
    table th, table td{
        padding: 10px;
        text-align: center;
    }
</style>
</head>
<body>
        <h1>This is Dyanamic Table</h1>
        <button type="button" id="newelement"> Add New Row</button>
        <table border="1" id="createElement" width="500px" height="50px">
            <tr>
                <th>Id</th>
                <th>Name</th>
                <th>Email</th>
                <th>Action</th>
            </tr>
        </table>
        <button type="button" id="click"> click me</button>     
</body>
</html>

 function hello(arr){
         $(arr).hide();
         var row = $(arr).next();
         row.hide();
         var per =  $(arr).prevAll();
         per.show();
         //$(this).parent().prev().find("input[type=text]").prop('disabled', false);
        $("table tr input[type=text]").prop("disabled", true);
        $("table tr input[type=email]").prop("disabled", true);
    };
    $(document).ready(function(){   
        var id = 0;
        var mainid =1;
        var nameid = 0;
        var emailid = 0;
        var addButton = 0;
        var cancelid = 0;
        $("#newelement").click(function (){
            var createelement ='<tr><td>'+mainid+'</td> <td><input type="text" placeholder = "name"></td><td><input type="email" placeholder="email"></td> <td><input type="button" value="edit" style="display:none;"> <input type="button" value="save" id = "save'+addButton+'" onclick="hello(this)" ><input type="button" name="first" value="cancel" id="cancel'+cancelid+'"></td></tr>';
            $("table").append(createelement);
            id += 1;
            nameid += 1;
            emailid += 1;
            mainid += 1;
            addButton += 1;
        });
});

1 个答案:

答案 0 :(得分:-1)

您可以在jquery中使用.each()快速

您将为该输入字段指定一个类名,以便无论如何对其进行样式设置

trait Special
trait Product[T]

trait Config[T] {
  def buildProduct: Product[T]
}
case class SimpleConfig[T]() extends Config[T] {
  def buildProduct = buildA[T](this)
}
case class SpecialConfig[T <: Special]() extends Config[T] {
  def buildProduct = buildASpecial[T](this)
}


def buildA[X](c: Config[X]): Product[X] = ???
def buildASpecial[X <: Special](sc: SpecialConfig[X]): Product[X] = ???

def factory[T](config: Config[T]): Product[T] = config.buildProduct

您可以将此功能绑定到点击事件