gpt4 book ai didi

javascript - JQuery 函数对单选按钮不响应

转载 作者:行者123 更新时间:2023-11-28 12:16:19 27 4
gpt4 key购买 nike

这对我来说是一个非常棘手的问题(或者我只是彻头彻尾的愚蠢)。尝试使用 JQuery 函数使当用户选择某个单选按钮时,下面的表单相应地发生变化(例如,个人看到姓名、公司、职位、电话、电子邮件和地址。公司只能看到公司、电话、电子邮件和地址。但当​​前单击单选按钮没有任何效果。

我还想问:1) 是我的函数 $('#contactType>input')。在正确的位置(在 内)还是应该在其他地方?2)我可以使用index.js 文件来代替它以使其更容易吗?如果是这样,如何链接index.js?难道只是

干杯。

$(document).ready(function() {
listenForInputChanges();
})

function listenForInputChanges() {
$('#contactType >input').change(function() {
console.log('val is ' + $(this).val())
switch ($(this).val()) {
case 'individual':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').show();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;

case 'team':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;

case 'company':
$('#nameDiv').hide();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;
}
})
}
<!DOCTYPE html>
<html>

<head>
<title>Create new contact</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
</script>


</head>

<body>
<div class="container">
<div class="row">
<form method="post" class="form-horizontal col-md-6 col-md-offset-3">
<h2>Motoko Insurance Contacts</h2>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />

<div class="form-group">
<label for="input" class="col-sm-6 control-label">What type of contact are you adding?</label>
<div id="contactType" class="col-sm-10">
<input type="radio" name="Contact_type" value="individual"> Individual
<input type="radio" name="Contact_type" value="team"> Team
<input type="radio" name="Contact_type" value="company"> Company</div>
</div>


<div id="nameDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" name="name" class="form-control" id="input1" placeholder="Name" />
</div>
</div>

<div id="companyDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Company</label>
<div class="col-sm-10">
<input type="text" name="comp" class="form-control" id="input1" placeholder="Company" />
</div>
</div>

<div id="titleDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Title</label>
<div class="col-sm-10">
<input type="text" name="title" class="form-control" id="input1" placeholder="Title" />
</div>
</div>

<div id="phoneDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Phone</label>
<div class="col-sm-10">
<input type="int" name="urstel" class="form-control" id="input1" placeholder="Phone" />
</div>
</div>

<div id="emailDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">E-Mail</label>
<div class="col-sm-10">
<input type="email" name="email" class="form-control" id="input1" placeholder="E-mail" />
</div>
</div>

<div id="addressDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Address</label>
<div class="col-sm-10">
<input type="text" name="location" class="form-control" id="input1" placeholder="Address" />
</div>
</div>


<input type="submit" class="btn btn-primary col-md-2 col-md-offset-10" value="submit" />
</form>

</div>
</div>
</body>

</html>

最佳答案

您缺少 jQuery 库。记得添加到<head>中您页面的部分:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

$(document).ready(function() {
listenForInputChanges();
})

function listenForInputChanges() {
$('#contactType >input').change(function() {
console.log('val is ' + $(this).val())
switch ($(this).val()) {
case 'individual':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').show();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;

case 'team':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;

case 'company':
$('#nameDiv').hide();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;
}
})
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
<title>Create new contact</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
</script>


</head>

<body>
<div class="container">
<div class="row">
<form method="post" class="form-horizontal col-md-6 col-md-offset-3">
<h2>Motoko Insurance Contacts</h2>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" />

<div class="form-group">
<label for="input" class="col-sm-6 control-label">What type of contact are you adding?</label>
<div id="contactType" class="col-sm-10">
<input type="radio" name="Contact_type" value="individual"> Individual
<input type="radio" name="Contact_type" value="team"> Team
<input type="radio" name="Contact_type" value="company"> Company</div>
</div>


<div id="nameDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" name="name" class="form-control" id="input1" placeholder="Name" />
</div>
</div>

<div id="companyDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Company</label>
<div class="col-sm-10">
<input type="text" name="comp" class="form-control" id="input1" placeholder="Company" />
</div>
</div>

<div id="titleDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Title</label>
<div class="col-sm-10">
<input type="text" name="title" class="form-control" id="input1" placeholder="Title" />
</div>
</div>

<div id="phoneDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Phone</label>
<div class="col-sm-10">
<input type="int" name="urstel" class="form-control" id="input1" placeholder="Phone" />
</div>
</div>

<div id="emailDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">E-Mail</label>
<div class="col-sm-10">
<input type="email" name="email" class="form-control" id="input1" placeholder="E-mail" />
</div>
</div>

<div id="addressDiv" class="form-group">
<label for="input1" class="col-sm-2 control-label">Address</label>
<div class="col-sm-10">
<input type="text" name="location" class="form-control" id="input1" placeholder="Address" />
</div>
</div>


<input type="submit" class="btn btn-primary col-md-2 col-md-offset-10" value="submit" />
</form>

</div>
</div>
</body>

</html>

关于javascript - JQuery 函数对单选按钮不响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48797918/

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