Javascript 在JQuery中选择特定的子元素?
我有一个表单,在一个页面上最多可以出现8次,因此将ID添加到对象中不是一个解决方案。当两个字段相同时,我需要启用submit按钮。 我想不出一个办法来做这件事。你能帮我吗 HTMLJavascript 在JQuery中选择特定的子元素?,javascript,jquery,Javascript,Jquery,我有一个表单,在一个页面上最多可以出现8次,因此将ID添加到对象中不是一个解决方案。当两个字段相同时,我需要启用submit按钮。 我想不出一个办法来做这件事。你能帮我吗 HTML <form method="post"> <div class="form-group"> <label for="pass1">New Password:</label> <input type="password" class="form-co
<form method="post">
<div class="form-group">
<label for="pass1">New Password:</label>
<input type="password" class="form-control" name="pass1" placeholder="Pa55word">
</div>
<div class="form-group">
<label for="pass2">Retype Password:</label>
<input type="password" class="form-control" name="pass2" placeholder="Pa55word">
</div>
</div>
<div class="modal-footer">
<input type="submit" name="subpass" class="btn btn-primary disabled" value="go" />
</form>
您可以使用:
$('form input[type="password"]').keyup(function () {
var form = $(this).closest('form');
if(form.find('input[type="password"]').first().val() ===
form.find('input[type="password"]').last().val()){
form.find('input[type="submit"]').removeAttr('disabled'); //or remove class
} else {
form.find('input[type="submit"]').attr('disabled', ''); //disable the button
}
});
下面是JSFIDLE中的一个示例
下面是它如何同时处理几个表单的工作示例:
$('form input[type="password"]').keyup(function () {
var $this = $(this);
var $parent = $this.closest("div");
if( $this.val() == $this.closest("form").find("div.form-group").not($parent).find("input").val() ){
console.log("equals");
} else {
console.log("not equals");
}
});
试试:
您可以比较输入的值。通过
$(this.val()
或(非jQuery)this.value
检索它们。如果可以的话,您只是有一些无效的标记。在这里,它应该工作。问题是有一个错误和缺失。见:
$('form input[type="password"]').keyup(function () {
var $this = $(this);
var $parent = $this.closest("div");
if( $this.val() == $this.closest("form").find("div.form-group").not($parent).find("input").val() ){
console.log("equals");
} else {
console.log("not equals");
}
});
$('form input[type="password"]').keyup(function () {
var form = $(this).closest('form')
var pass1 = form.find('input[name=pass1]')
var pass2 = form.find('input[name=pass2]')
var submit = form.find('input[type=submit]')
var condition = pass1.val().length == 0 || (pass1.val() != pass2.val())
submit.attr("disabled", condition)
});