gpt4 book ai didi

php - 来自同一单选按钮组的值数组

转载 作者:行者123 更新时间:2023-11-28 02:46:31 24 4
gpt4 key购买 nike

我正在 Laravel 中创建一个网站,用户需要在其中输入他的假名,并且在设置页面上他可以使用 jQuery 添加多个假名。当他单击加号按钮时,会添加一个文本字段、单选按钮和减号字段。

单选按钮 用于将其中一个昵称标记为默认。

Image: screenshot of how the inputs look like

如何从这些单选按钮中传递一组值?即,如果我选择 4 个假名中的第 3 个作为默认:

{'0' => null, '1' => null, '2' => '1', '3'=> null}

所以我可以将这个数组合并到假名数组中,如下所示:

{'0' => {'0' => 'John Doe', '1' => null},
'1' => {'0' => 'John Smith', '1' => null},
'2' => {'0' => 'John Wayne', '1' => '1'},
'3' => {'0' => 'John X', '1' => null}}

最后,我会像这样保存它,或者其他一些也会检查是否已经存在然后更新的方法,但现在这并不重要:

    foreach($pseudonyms as $pseudonym)
$user->pseudonyms()->create(['name' => $pseudonym[0], 'status' => $pseudonym[1]]);

我可能只是没有经验,不知道一些 html/php 基础知识可以让我这样做,但我能做什么 :)

无论如何,这是输入的 Blade 部分:

    <div class="input_fields_wrap">
<div class="row">
<div class="col-md-8">
{!! Form::text('pseudonyms[]', null,['class' => 'form-control']) !!}
</div>
<div class="col-md-2">
{!! Form::radio('default[]', 1, null,['class' => 'form-control']) !!}
</div>
<div class="col-md-2">
{!! Form::button('<i class="fa fa-plus" aria-hidden="true"></i>',['class'=>'btn btn-default add_field']) !!}
</div>
</div>
</div>

这是在 .input_fields_wrap 中附加额外字段的 jQuery 部分

    $(document).ready(function() {
var max_fields = 5; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap .row"); //Fields wrapper
var add_button = $(".add_field"); //Add button ID

var added_fields = 1; //initial text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(added_fields < max_fields){ //max input box allowed
$(wrapper).append('<div class="added"><div class="col-md-8 class1"><input type="text" name="pseudonyms[]" class="form-control"/></div>' +
'<div class="col-md-2 class2" ><input type="radio" name="default[]" value="1" class="form-control"/></div>' +
'<div class="col-md-2 class3" ><input type="button" value="-" class="remove_field btn btn-default add_field fa fa-minus"></div></div>'); //add input box
added_fields++; //text box increment
}
});

$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault();
$(this).closest('.added').remove();
added_fields--;
})
});

感谢您的意见!

最佳答案

当然,解决方案正在处理其他事情,思考 2 分钟后返回并给出答案。使用单选按钮值中的键创建新数组,因此我可以将它与另一个数组合并

    foreach($request->pseudonyms as $key => $value)
{
if(array_key_exists($key, $default))
{
$pseudonyms[$key] = array($value, $default[$key]);
} else {
$pseudonyms[$key] = array($value, null);
}
}

关于php - 来自同一单选按钮组的值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41312958/

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