2014-04-12 87 views
0

我有一個<"select'>,有一些選項和onChange查找器。選擇某個選項時,某些隱藏字段中會設置​​某些值。因此,如果這種變化事件不會發生,這意味着這些字段的值將保持其初始狀態,即0。只有在選擇選項發生變化後才能獲得輸入值

我想實現的是,只有當onchange發生時,這意味着隱藏的字段值已定,我從那些隱藏字段的值,並與數據進行一些Ajax

這是我到目前爲止有:

<select class="form-control choosedegree" name="sem" id="semester"> 
     <option value="" selected="selected" disabled>Select Semester</option> 
     <option value="1">Year 1, Semester 1</option> 
     <option value="2">Year 1, Semester 2</option> 
     <option value="3">Year 2, Semester 1</option>    
    </select> 

在此之後已被觸發,並完成後,

$('select#semester').on('change', function(){}); 

然後找到一些隱藏的輸入並設置由於onChange而得到的新值。

$('div.tab-content div.tab-pane.active form').find('input[type=hidden]').val() 

我該如何做到這一點!任何形式的幫助都非常感謝。

回答

2

這樣做:

$('select#semester').on('change', function(){ 

if($(this).val() != "") 
{ 

// send ajax call here 
setTimeout(SendAjaxCall,3000); // execute SendAjaxCall after 3 secs 
    } 

}); 


function SendAjaxCall() 
{ 
var val = $('div.tab-content div.tab-pane.active form').find('input[type=hidden]').val(); 
} 
+0

我的解釋僅僅是一個更大的畫面的一部分,得到隱藏字段的新值,平變化必須滿足以下條件 –

+1

@Yunus上面的代碼,如上所述,一個功能當'change'事件發生時必然會發生,所以在技術上它會做你所要求的。也許隱藏的輸入變化也被綁定到相同的事件上,並事先觸發 - 在這種情況下,將函數放在setTimeout(theFunction(){...},0)中可以通過首先執行所有其他綁定事件來解決問題 – Barney

+0

@Barney是正確的...你可以使用SetTImeout –

相關問題