gpt4 book ai didi

jquery - 使用 jQuery 对充当 Radio 的按钮进行 Bootstrap3 表单验证

转载 作者:行者123 更新时间:2023-12-01 01:33:37 25 4
gpt4 key购买 nike

背景

我有一个表单,用户在添加另一个用户时必须单击单选按钮来选择安全级别。经过一些研究,很明显 jQuery 验证与充当单选按钮的按钮不兼容。因此,我查看了其他人的解决方案,该解决方案“单击”按钮时,将隐藏值设置为按钮的值,并且该隐藏值是验证用户输入的值。不幸的是,它不起作用。

有人可以帮我调整代码,使这个隐藏的输入按钮能够采用所单击按钮的值。请记住,我在 html 中省略了一些常规输入字段,例如名字和姓氏。

更新:

碰巧这个表单位于模态窗口内。我相信 Bootstrap 的模态打开处理程序正在干扰 .on 的实际 jquery。任何人都可以提供“新发现”信息的解决方案吗?

表单中的按钮

<div class="btn-group" data-toggle="buttons" id="addSecLvlButtons" >
<label id="addSecLvl1Label" class="btn btn-default btn-gradient btn-sm">
<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption1" value="1">Security Lvl 1</label>
<label id="addSecLvl2Label" class="btn btn-default btn-gradient btn-sm">
<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption2" value="2">Level 2</label>
<label id="addSecLvl3Label" class="btn btn-default btn-gradient btn-sm">
<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption3" value="3">Level 3</label>
<label id="addSecLvl4Label" class="btn btn-default btn-gradient btn-sm">
<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption4" value="4">Level 4</label>
<label id="addSecLvl5Label" class="btn btn-default btn-gradient btn-sm">
<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption5" value="5">Level 5</label>
</div>
<input required type="hidden" name="addSecLvl" id="addSecLvl">

jQuery

//Validating Add Radio Buttons
$('#addSecLvlButtons').on('click', '.radioinput', function() {
$('#addSecLvl').val($(this).val());
});


//Validate the form and show hidden fields
$('#addUser').validate({
debug: false,
ignore: [],
rules: {
addFirstName: "required",
addLastName: "required"
},
messages: {
addFirstName: "Please enter the new user's first name",
addLastName: "Please enter the new user's last name"
}
});

可能的解决方案建议

我有这段代码,它似乎在模式窗口内的 Bootstrap 中运行良好。也许稍微调整一下 .on 也能达到目的?只是试图“跳出框框思考”

$("#addUserName").focus(function() {
var firstname = $("#addFirstName").val();
var lastname = $("#addLastName").val();
if(firstname && lastname && !this.value) {
this.value = firstname + "." + lastname;
}
});

最佳答案

好消息,你已经很接近了。您将标签对象传递到点击处理程序中,而不是输入对象(请注意,您正在传递带有类 .btn 的对象,即标签)。

尝试这样的事情:

HTML

<input class="radioinput" type="radio" name="addSecLvlOptions" id="addSecLvloption1" value="1">`

JavaScript

//Validating Add Radio Buttons
$('#addSecLvlButtons').on('click', '.radioinput', function() {
$('#addSecLvl').val($(this).val());
});`

Here是一个演示代码的 JSFiddle。祝你好运!

关于jquery - 使用 jQuery 对充当 Radio 的按钮进行 Bootstrap3 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24026634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com