2014-01-09 63 views
1

我對jQuery和JS非常陌生。我環顧了一下,並沒有找到答案,在我的腦海中點擊。jquery變量未被髮送

我正在做典型的一個下拉內容取決於他人的選擇。除了從第一個下拉框中拉出變量的部分之外,我已經完全工作了。

這裏就是我有下面的代碼:

HTML:

<p>Processor Assignment *<br><small>Please Choose the Processor whom you are assigning this Serve. Only Network Member Providers are shown in this list.</small></p> 
<select name="assigned_to" id="assigned_to"> 
    <option value="2">test</option> 
    <option value="3">Test_Processor</option> 
</select> 

<p>Service Type*</p> 
<p id="services_list">Please choose a processor.</p> 

的JS:

$(document).ready(assigned_to_selectbox_change); 

function assigned_to_selectbox_change() { 
    $('#assigned_to').change(update_services_list); 
} 

function update_services_list() { 
    var processor_id = $('#assigned_to').attr('value'); 
    $.get('http://example.com/path/to_ajax/method/' + processor_id, show_services_list); 
} 

function show_services_list(services) { 
    $('#services_list').html(services); 
} 

,如果我硬編碼,IE http://example.com/path/to_ajax/method/3這一切工作順順當當。一切都按預期填充。

任何想法,爲什麼它不拾取assigned_to值?我已經確認PHP/MySQL/etc工作正常,並在變量通過時返回正確的結果。

回答

4

嘗試.val(),而不是.attr('value')

var processor_id = $('#assigned_to').val(); 

而且,如果沒有你區分你的代碼到如此多的功能,具體的原因,我覺得這是更簡潔:

$(document).ready(function() { 
    $('#assigned_to').change(function() { 
     $.get('http://example.com/path/to_ajax/method/' + this.value, function(services) { 
      $('#services_list').html(services); 
     }); 
    }); 
})); 
+0

傑森,這沒有把戲。現在它正在填充。謝謝你的幫助。我有大約8分鐘才能接受答案,儘管...... -_- – Mike

+0

對於你的編輯,我完全熟悉PHP並且寫這樣的JS使它保持在我的頭腦中。你的編輯對我來說很有意義,我只是懷疑我可以這樣寫,而且它確實有效。再次感謝。 – Mike