gpt4 book ai didi

javascript - 隐藏/显示表单输入和更改值

转载 作者:行者123 更新时间:2023-11-30 12:36:54 24 4
gpt4 key购买 nike

我很困惑,所以现在我向我的开发人员同事寻求帮助。这可能是我忽略的非常简单的事情,但你知道当你过于认真地看某事时它是怎样的,通常它就在那里,你只是错过了它。不管怎样,我已经说得够多了,切中要点!

我有这个应用程序,我只需要它的一小部分方面的帮助。它与 bootstrap 3 放在一起,所以我不知道这是否与它有关。我想做的是,点击复选框 #mailing_address,检查更改,如果选中,则将当前地址部分的值添加到 #p_address、#p_address2、#p_city、#p_state、#p_zip 到它们在下一组输入中各自的#m_ 值,然后禁用#m_ 输入,这样它们就无法更改。这部分有效

如果未选中该框,再次更改#mailing_address 时,清除所有#m_ 输入并再次启用输入。这是不起作用的部分。

这是给我这个问题的表单片段

<div class='form-group'>
<div class='col-md-5 col-md-offset-1 col-sm-6'>
<div class='input-group app-input'>
<input type='text' class='form-control' id='p_address' placeholder='Your Current Address'>
<span class='input-group-addon'><span class='glyphicon glyphicon-home'></span></span>
</div>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-5 col-md-offset-1 col-sm-6'>
<input type='text' class='form-control' id='p_address2' placeholder='Current Address Line 2'>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<input type='text' class='form-control' id='p_city' placeholder='Your Current City'>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<select class='form-control' id='p_state'>
<option value="" selected>Your Current State</option>
<? include $up_level.'inc/body/extras/state_list_options.php';?>
</select>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<input type='text' class='form-control' id='p_zip' placeholder='Your Current Zip'>
</div>
</div>
<div class='form-group'>
<div class='col-md-5 col-md-offset-1'>
<div class='checkbox'>
<label><input type='checkbox' id='mailing_address'>Check here if your mailing address is the same as your current address</label>
</div>
</div>
</div>
<div class='form-group'>
<div class='col-md-5 col-md-offset-1 col-sm-6'>
<div class='input-group app-input'>
<input type='text' class='form-control' id='m_address' placeholder='Your Mailing Address'>
<span class='input-group-addon'><span class='glyphicon glyphicon-home'></span></span>
</div>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-5 col-md-offset-1 col-sm-6'>
<input type='text' class='form-control' id='m_address2' placeholder='Mailing Address Line 2'>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<input type='text' class='form-control' id='m_city' placeholder='Your Mailing City'>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<select class='form-control' id='m_state'>
<option value="" selected>Your Mailing State</option>
<? include $up_level.'inc/body/extras/state_list_options.php';?>
</select>
</div>
</div>
<div class='form-group app-input-no-group'>
<div class='col-md-3 col-md-offset-1 col-sm-4'>
<input type='text' class='form-control' id='m_zip' placeholder='Your Mailing Zip'>
</div>
</div>

作为引用,带有文件“state_list_options.php”的 include 语句只是带有州名称和缩写的选择选项列表,如下所示:

<option value='AZ'>Arizona</option>

这是我为它命名的 Jquery 代码

$(document).ready(function(){
//check if the mailing address checkbox is checked
//if so then we will fill the mailing address in with the information from current address then hide all the mailing address fields
//else clear the mailing address fields and show them again
//set variables
var p_values = ['p_address', 'p_address2', 'p_city', 'p_state', 'p_zip'];
var m_values = ['m_address', 'm_address2', 'm_city', 'm_state', 'm_zip'];
$("#mailing_address").change(function(){
if($(this.checked)){
//if checked get the values from the current address fields
for(var i = 0; i < p_values.length; i++){
$('#'+m_values[i]+'').val($('#'+p_values[i]+'').val());
$('#'+m_values[i]+'').attr('disabled', 'disabled');
}
}
else{
//this is the part that is failing
for(var i = 0; i < p_values.length; i++){
$('#'+m_values[i]+'').val("");
$('#'+m_values[i]+'').removeAttr('disabled');
}
}
});
});

这是否与我使用 ID 而不是输入的类或名称这一事实有关?我认为这不重要。我真的不知道,但我完全被难住了。如果需要,我可以添加更多详细信息,让我知道!

最佳答案

this.checked 中移除 $() jsFiddle

if(this.checked){

如果你想让它成为一个 jQuery 对象,那么它看起来像这样

if($(this).is(':checked')){

关于javascript - 隐藏/显示表单输入和更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790501/

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