2012-11-26 165 views
0

我有一个下拉菜单。默认情况下,它只允许一个选项进行选择。我想创建一个复选框,选中时应该更改该下拉菜单以允许选择多个选项。有人能告诉我如何实现这一目标吗?更改选择标签属性值

<select id="test" name="host"> 
    <option value="host1">host1</option> 
    <option value="host2">host2</option> 
    ..... 
    ..... 
</select> 

我希望在检查复选框时将其更改为以下内容。

<select id="test" name="host" multiple="multiple"> 
    <option value="host1">host1</option> 
    <option value="host2">host2</option> 
    ..... 
    ..... 
</select> 

请帮我这样做。

+0

你想在没有页面重新加载的情况下做到这一点? –

+0

@MikeBrant:不,根据是否勾选复选框。 – pradeepchhetri

+1

我想你没有按照我的问题。我想知道你是否希望选中该复选框,并在没有页面加载的情况下更新页面上的“select”(在这种情况下,您将需要使用javascript)。您的代码中没有JavaScript,因此您是否想要单击复选框并重新加载页面(例如,使用PHP修改HTML源代码以添加'mulitple'),或者如果您希望在没有笨拙的页面重新加载的情况下执行此操作,目前尚不清楚。这听起来像你想要的JavaScript,然后提出下一个问题 - 你想要直接的JavaScript还是你使用jQuery或类似? –

回答

3

您需要使用JavaScript that..use一个名为 'JQuery的' 库,这使得它很简单..

$("#checkbox_id").change(function(){ 
    if($(this).is(':checked')) 
     $("#test").attr('multiple', 'multiple'); 
}); 

编辑:用于恢复回..

Working Demo

$("#checkbox_test").change(function(){ 
    if($(this).is(':checked')) 
     $("#test").attr('multiple', 'multiple'); 
    else 
     $("#test").removeAttr('multiple'); 
}); 
+0

取消选中该复选框后,应该再次恢复。我们如何实现这一目标? – pradeepchhetri

+0

更新答案和演示。 –