2012-09-25 27 views
1

這裏是我的javascript代碼,我要選擇的當前選擇的值傳遞給我的js函數,在這段代碼我使用的靜態數6的JavaScript傳遞參數THIS.VALUE運作

<select name='project_name' class='required input_field' id='project_name' onchange="sendRequest('GET','getClientName.jsp?ProjectId=6')"> 
<option value=''>-- Select --</option> 
<option value="1">Project 1</option> 
<option value="2">Project 2</option> 
<option value="3">Project 3</option> 
</select> 

幫助我要解決這個......

+0

@Buzz我試過這樣,平變化= 「sendRequest將( 'GET', 'getClientName.jsp?專案編號= THIS.VALUE')」 –

回答

7

改變字符串'getClientName.jsp?ProjectId=6'

'getClientName.jsp?ProjectId=' + this.options[this.selectedIndex].value) 

'getClientName.jsp?ProjectId=' + this.value) 

但我認爲第一個是更多的瀏覽器兼容。

+0

謝謝你,它的工作.. –

+1

我一直使用您的第二種方法,並且在任何瀏覽器上都沒有問題 –

+0

好的,謝謝,不知道 – Marc

2
var selectBox = document.getElementById('project_name'); 
selectBox.addEventListener('change', function() { 
    sendRequest('GET', 'getClientName.jsp?ProjectId=' + this.value); 
}); 
+0

我更喜歡這個方法(只要它也考慮到'attachEvent()'silliness):http://jsfiddle.net/gSdFy/ –

+0

爲了簡潔起見,我遺漏了''attachEvent()''的代碼覆蓋範圍:) – richoffrails

0

它將幫助您獲得選定的選項值。試試這個鏈接http://jsfiddle.net/xyaaa/9/

<html> 
    <head> 
     <script> 
      function getOption(t){ 
       var val; 
       var options = t.options; 
       for(var i=0,len=options.length;i<len;i++){ 
        var option = options[i]; 
        if(option.selected){ 
         val = option.value; 
        } 
       } 
       return val; 
      } 
      function sendRequest(method , url){ 
        console.log(url); 
      } 
    </script> 
    </head> 
      <body> 
       <select onchange="var x=getOption(this);sendRequest('GET','getClientName.jsp?ProjectId='+x)"> 
        <option value="1">Project 1</option> 
        <option value="2">Project 2</option> 
        <option value="3">Project 3</option> 
       </select> 
    </body> 
</html>