动态下拉菜单通过PHP

时间:2013-11-10 08:58:30

标签: javascript jquery

几周前我访问了一个网站,遇到了动态下拉菜单。我遇到了一个功能,我现在正在尝试复制,但不知道如何。在下拉列表中,您选择了所需数量的汽车,然后根据所选汽车的数量重复输入字段。我相信这是通过javascript完成的,并且涉及循环。这个动作或方式是否有显示事物的术语?另外一个如何完成类似事情的例子会有所帮助吗?

enter image description here

3 个答案:

答案 0 :(得分:2)

这不太可能通过PHP完成,因为这需要页面刷新。 它更有可能是通过Javascript监听Select元素的onChange事件(下拉菜单)来完成的。当检测到事件时,Javascript可以显示/隐藏div元素(每个Car一个),或动态创建/销毁它们。

答案 1 :(得分:2)

这是使用java脚本完成的, 这里有一个提示

创建一个div并将所需的输入放入其中

<div id='controls'>
<input type="text" name="car_name" />
</div>

并使用jQuery更改事件,您可以迭代控件div的视图

即如果你有一个带有id容器的div,那么你将放置新的控件

$('select').change(function(){
 var number = parseInt ($(this).val ());
 //And do for loop here
 for (var i=1;i<=number;i++){
     $('#controls').clone().appendTo($('#container');
  }
});

请根据您的要求增强此代码。

答案 2 :(得分:0)

如果你想要它而不刷新,你需要使用javascript,我在这里使用jquery做了一个例子: HTML CODE

<label>How many cars?</label>
<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<div id="fields"></div>

JAVASCRIPT CODE

$('select').change(function() {
    var option = $(this).val();
    showFields(option);
    return false;
});
function showFields(option){
    var content = '';
    for (var i = 1; i <= option; i++){
        content += '<div id="field_'+i+'"><label>Car '+i+'</label><br /><label>Model:</label> <input id="model_'+i+'" /><br /><label>Maker:</label> <input id="maker_'+i+'" /><br /><label>Year:</label> <input id="year_'+i+'" /><br /><div><br />';
    }
    $('#fields').html(content);
}

此处示例:http://jsfiddle.net/zbzjm/1/