0

我有一个选择框如下:

<select id="select_search">
    <option value="search_contact">Contact</option>
    <option value="search_customer">Customer</option>
    <option value="search_employee">Employee</option>
    <option value="search_servEmp">Service Employee</option>
    <option value="search_servOrg">Service Org</option>
</select>

上面的选择框是搜索表单的一部分。当您提交表单时,使用 ajax 请求将结果异步返回到同一页面。

在我的结果页面(异步加载的页面)上,我有一组其他选择框,它们充当结果的过滤器。

<select id="select_customer">
    <option value="">something</option>
</select>
<select id="select_contact">
    <option value="">something else</option>
</select>
etc....

如何获取原始选择框 (#select_search) 的值以显示/隐藏通过 ajax 加载的相应选择框。(例如,如果 search_contact 是选定的选项,则仅显示 id="search_contact" 的选择框)

我熟悉的唯一方法是在更改时获取选择框的值,但在这种情况下,受影响的元素要等到更改发生后才会加载。

4

3 回答 3

0

你可以在jsFiddle试试这个。

$(function () {
    $(document).on('change', '#select_search', function () {
        $('select:not(#select_search)').addClass('invisble');
        var selectSearchVal = $(this).find('option:selected').val();
        $('#select_' + selectSearchVal.replace('search_', '')).removeClass('invisble');
    });
});
于 2013-09-29T10:53:03.533 回答
0

如果您使用 JQuery$(#select_search).val()应该可以解决问题。

于 2013-09-29T10:22:46.553 回答
0

制作 $.live 的新方法

$(document).on('change', '#select_search', function() {
 // change
});
于 2013-09-29T10:25:57.737 回答