【发布时间】:2018-11-08 21:05:24
【问题描述】:
单击“更改密码”按钮时,我试图将密码行转换为输入字段。我已经在使用 Jquery 了。所以我已经做到了,当您单击“更改密码”时,输入字段会被添加。此外,当他们单击“返回”时,会显示原始状态。如果您查看codepen,您会注意到单击“返回”后,您无法再次单击“更改密码”,jquery 不起作用。有解决办法吗?
我也使用过 jquery 'replaceWidth',有没有更好的方法来做到这一点?我将很多 html 放入我的 Jquery 中,但不确定这是否是最好的方法。
请看一下!
https://codepen.io/liamdthompson/pen/WYwXeK
$("#change").click(function () {
$("#container").replaceWith('<input class="form-control" id="zing" required="required" type="text" value="Change password" id="website_name">');
$(this).replaceWith('<button type="button" id="yeet" class="btn btn-light lighter">back</button>');
$("#yeet").click(function () {
$(this).replaceWith('<button type="button" id="change" class="btn btn-light lighter">Change password</button>');
$("#zing").replaceWith('<div class="" id="container">*********</div>');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="accountmain" style="padding-top:25px;">
<div class="row">
</div>
<div class="row">
<div class="col">
<h6> Password</h6>
</div>
<div class="col" id="container">
*********
</div>
</div>
<button type="button" id="change" class="btn btn-light lighter">Change password</button>
</div>
【问题讨论】:
-
您是否有理由不能只在 HTML 中创建它们并在必要时显示/隐藏它们?
-
使用显示/隐藏而不是替换宽度有什么好处吗?
-
明显的好处:您不会丢失附加的 javascript 处理程序。
-
这是一种更简单的方法,而不是通过字符串动态创建一些元素。您只需致电
.show()或.hide()。您只需显示/隐藏,不涉及复杂性。
标签: javascript jquery html input