2013-12-18 44 views
-1

我懷疑你將需要使用JavaScript來做到這一點選擇,我有三個選擇使用2個選擇自動確定哪些是在第三

<select id="Sides"> 
<option value="Single">Single</option> 
<option value="Double">Double</option> 
</select> 

<select id="Delivery"> 
<option value="Standard">Standard</option> 
<option value="Express">Express</option> 
</select> 

<select id="SidesDelivery"> 
<option value="SingleStandard">Single Standard</option> 
<option value="SingleExpress">Single Express</option> 
<option value="DoubleStandard">Single Standard</option> 
<option value="DoubleExpress">Single Express</option> 
</select> 

我想知道怎麼樣,如果你選擇單在雙方交付和標準如何在SidesDelivery自動選擇SingleStandard

我覺得這工作是這樣的

OnChange if Sides select== Single && Delivery select== Single 
then sidesdelivery= SingleStandard 
+0

你嘗試過什麼?如果您顯示的代碼是您嘗試過的不起作用的代碼,而不僅僅是詢問如何執行某些操作,那麼您將在StackOverflow上獲得更好的幫助。你是否在改變事件中使用,但他們沒有工作? – CoderDennis

+0

http://jsfiddle.net/Ben1989/79uxp/嘗試過,但沒有工作,但沒有一個jsfiddle帳戶失去了我所做的一切 – user2689642

回答

1

嘗試這種解決方案,

$('#Sides,#Delivery').change(function(){ 
    var one,two; 
    if(this.id=="Sides"){ 
     one = $('#'+this.id).val(); 
     two= $('#Delivery').val(); 
    } 
    if(this.id=="Delivery"){ 
     two = $('#'+this.id).val(); 
     one= $('#Sides').val(); 
    } 

    $('#SidesDelivery > option').each(function(index,obj){ 

     if($(obj).text().split(" ")[0]== one && $(obj).text().split(" ")[1]==two){ 
      $(this).prop('selected','selected'); 
     } 

    }); 


}); 

DEMO

+0

你能解釋$('#SidesDelivery>選項' ).each(function(index,obj){if($(obj).text()。split(「」)[0] == one && $(obj).text()。split(「」) [1] == two){ $(this).prop('selected','selected'); } 工作我瞭解其餘的嗎? – user2689642

+0

這裏jquery每個循環迭代每個下拉選項。代碼$(obj).text()獲得像「單一標準」的值,現在我將它分開,因此它返回一個包含兩個元素的數組(例如[「Single」,「Standard」]),那麼我們已經實現了條件說$(obj).text()。split(「」)[0]在這裏會產生「Single」和$(obj).text()。split(「 「)[1]將是」標準「,並且分別分配給變量」一「和」兩「......因此,如果滿足條件,我們只需使用$(this).prop('selected' 'selected'); ....希望你現在很清楚,是嗎? – anand4tech

2

嘗試是這樣的:

var a = document.getElementById('Sides').value; 
var b = document.getElementById('Delivery').value; 

document.getElementById('SidesDelivery').value = a+b ; 
相關問題