2015-11-23 39 views
0

我有一個下拉列表如下:的下拉列表中設置不同的值,如果複選框選中或取消選中

<input type="checkbox" name="checkbox" id="checkbox"> 
<select name="test"> 
<option>very good</option> 
<option>nice</option> 
<option>not bad</option> 
<option>bad</option> 
</select> 

我想如果複選框選中告訴我「不壞」和「壞」的值或如果複選框未選中,則顯示'nice'和'非常好'的值。另一方面,通過更改複選框值來更改下拉列表的值。有什麼辦法可以解決這個問題嗎?

+0

這絕對是*可能*。如果你在任何人給你答案之前嘗試解決它,那將是非常棒的。一些要搜索的內容:onchange事件,按名稱獲取元素,設置innerHTML。 – JCOC611

回答

1

你可以設置你的HTML頁面像這樣,有very goodnice選項默認爲選中。

<input type="checkbox" name="checkbox" id="checkbox"> 
<select name="test" id="selectMenu"> 
    <option>very good</option> 
    <option>nice</option> 
</select> 

我已經分配了選擇菜單,其ID爲selectMenu

這裏我用jQuery。我保存對checkboxselect menu的引用,並且還創建了默認的「模板」,以便在未選中或未選中時更改innerHtml。對於checkedContent,我用你想要的選項創建了它,而對於uncheckedContent,我只是將它設置爲默認的innerHtml,它是very good和漂亮的options

//store dom references in vars 
var $checkbox = $("#checkbox"); 
var $selectMenu = $("#selectMenu"); 

var checkedContent = "<option>not bad</option><option>bad</option>"; 
var uncheckedContent = $selectMenu.html(); 

$checkbox.on("click", function(){ 
    var $this = $(this); 
    if($this.is(":checked:not")){ 
     $selectMenu.html(checkedContent); 
    } else { 
    $selectMenu.html(uncheckedContent); 
    } 
}); 

看看JSFiddle here

+0

它的真實但不能在我的控制檯工作。我應該把腳本標記jQuery代碼? – sammy

+0

我之前沒有使用jquery。請把需要的圖書館和其他東西 – sammy

相關問題