Javascript 如何使用for循环动态呈现多个表单元素
我想为一个表单显示一定数量的输入标签;这应取决于用户动态选择所需项目的数量Javascript 如何使用for循环动态呈现多个表单元素,javascript,forms,for-loop,show-hide,Javascript,Forms,For Loop,Show Hide,我想为一个表单显示一定数量的输入标签;这应取决于用户动态选择所需项目的数量 <?php echo ' <select id="howmany" name="items[howmany]" />'; foreach ($arrayValues as $key => $value) {
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
例如,如果用户说他们想要3个项目。我想显示3个输入栏
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
我不清楚进行这项工作的最佳方式。例如,我可以确定他们从选择选项中选择了多少项:
$(".howmany").change(function(){
var value = $(this).val();
}
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
但此后的正确做法是什么;我是否为每个:动态呈现使用选择的输入标记的确切数量,或预显示(但隐藏)所有输入标记,并仅显示请求的输入标记的确切数量
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
我希望能举一个例子来说明它是如何做到的。目前我只能隐藏整个区域。例如:
var requests = $("#howmany").val();
if (reqeusts < 1){
$('#reqeusts').hide();
}
else {
$('#reqeusts').show();
}
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
然后,我需要为每个选定的项目数呈现以下输入选择标记之一
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
$(“.howmount”).change(函数(){
var value=$(this).val();//获取输入的数量
value=parseInt(value);//确保它是整数
htmlStr=“”;
对于(变量i=0;i
您需要这样的东西:
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
$('button').click(function () {
$('div').empty().append(new Array(+$('input[type=number]').val()+1)
.join("<input type='text' placeholder='Type Something'/>"));
});
$(“按钮”)。单击(函数(){
$('div').empty().append(新数组(+$('input[type=number]).val()+1)
.加入(“”);
});
我希望这能让你知道如何解决你的问题
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>
但我显然需要能够根据用户选择的数字显示各个表单标签。不是真的。您需要一个带有可变数量的输入的表单。一个简单的for循环
附加输入
可以很好地解决您的问题。你好,MelancialUk。谢谢您的回复。我认为问题比简单的for循环更复杂。我没有给出问题的全部内容。我对错误表示歉意。需要动态呈现的输入标记是select标记,它们依赖于提供给它们的数组值。我已修改了我的原始问题。我还要求不要下载我的问题。我很抱歉k这是一个复杂的问题嗨,阿米特。非常感谢你的帮助。我现在正在看。我忘了提到我需要用数组值填充输入标记。我已经更正了我上面的问题。我认为现在的问题是如何将这些数组值填充到你的等式中
<?php echo '
<select id="howmany" name="items[howmany]" />';
foreach ($arrayValues as $key => $value)
{
echo '<option value="' . $key .'">' . $value . '</option>';
}
echo'</select>';
?>