jquery变量未被发送

时间:2014-01-09 22:46:33

标签: javascript php jquery ajax

我是jQuery和JS的新手。我看了一下,但没有找到一个点击我脑袋的答案。

我正在做典型的一个下拉内容取决于另一个人的选择。除了从第一个下拉框中提取变量的部分外,我完全正常工作。

以下是我的代码:

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正常工作,并在传递变量时返回正确的结果。

1 个答案:

答案 0 :(得分: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);
        });
    });
}));