0

当在第一个下拉列表中选择一个项目时,我正在尝试更改第二个下拉列表

$output_body = '<select>';
$accounts = $service->management_accounts->listManagementAccounts("~all");
  foreach($accounts['items'] as $item) {
 $output_body .= sprintf('<option value="%d">%s</option>', $item['id'], $item['name']);
    }
    $output_body .= '</select>';

所以当我从上面的下拉列表中选择一个项目时,它应该将所选项目的值存储在变量中,并且该变量将在这里使用,我相信会更新下拉列表

$webproperties = $service->management_webproperties->listManagementWebproperties("var here");
    foreach($webproperties['items'] as $item) {
        $output_prop .= sprintf('<option value="">%s</option>', $item['name']);
    }
    $output_prop .= '</select>'; 
4

2 回答 2

0

在我看来,能够将父元素上的事件冒泡与 html 数据元素结合使用,将请求提交给您的 php 控制器并将选项数据分配回您的视图,这将是一件好事,但我不确定是否您是否有 mvc 框架来支持此功能...

 window.addEvent('domready', function() {
        $('parent_option_list_container').addEvent('click:relay(a)', function(e, ele) {
    if (ele.hasClass('some_option_in_the_list')) {
        e.preventDefault();
        var selected = ele.get('data-option-value');

                    var request = new Request({
        method: 'POST',
        url : '/form_controller/option_select_toggle_function/' + selected,

        }).send();
    }

}

于 2013-11-04T20:21:45.947 回答
0

这是 jQuery 中级联下拉列表的一个很好的例子。(根据另一个选择填充一个)

<script>
    $(function () {
        var productsSelect = $('#productId');
        productsSelect.attr('disabled', true);
        $('#categoryId').change(function () {
            var categoryId = $(this).val();
            $.getJSON('/GetProducts/' + categoryId, function (products) {
                productsSelect.attr('disabled', false);
                productsSelect.empty();
                productsSelect.append(
                        $('<option/>')
                            .attr('value', '')
                            .text('-- Select Product --'));
                $.each(products, function (index, product) {
                    productsSelect.append(
                        $('<option/>')
                            .attr('value', product.ProductId)
                            .text(product.ProductName)
                    );
                });
            });
        });
    });
</script>
于 2013-11-04T19:32:16.170 回答