选择另一个后启用selectBox

时间:2013-09-16 22:58:37

标签: javascript php jquery json

我尝试通过从第一个选项中选择一个选项后启用第二个选择框来设置两个select-boxes

结果来自json,js到我页面上的div。

第二个选择设置为disabled

首先尝试:

JavaScript的:

$(document).ready(function () {
    $.getJSON('./system/feeds/built.search.php', function (json) {
        var output = '';
        output += '<div class="search_block">';
        output += '<h2><img src="images/search_icon_big.png" alt=""> Search used cars</h2>';
        output += '<form id="form1" class="form-style" method="post">';
        output += '<label><strong>Company</strong><br>';
        output += '<span class="select1">';
        output += '<select name="companies" id="companies">';
        output += '<option>All</option>';
        output += '<option value="company">Company</option>';
        for (var i = 0; i < json.company_models.length; i++) {
            output += '<option value=' + json.company_models[i].company + '>' + json.company_models[i].company + '</option>';
        }
        output += '</select>';
        output += '</span>';
        output += '</label>';
        output += '<label><strong>Model</strong><br>';
        output += '<span class="select1">';
        output += '<select name="models" id="models" disabled>';
        output += '<option>Choose Company</option>';
        $('#companies').change(function () {
            if (this.value) {
                document.getElementById('#models').disabled = true;
            } else {
                document.getElementById('#models').disabled = false;
            }
        });
        for (i = 0; i < json.company_models.length; i++) {
            output += '<option value=' + json.company_models[i].model + '>' + json.company_models[i].model + '</option>';
        }
        output += '</select>';
        output += '</span>';
        output += '</label>';
        $('#search').html(output);
    });
});

HTML

<div id="search" class="grid_12"></div>

jsfiddle.net/mJdmQ

让它更容易:

Company | Model要从模型中选择选项,我必须先选择公司

中的选项

PS:为了节省您在某些时候引用类似问题,我已经看过了......

1 个答案:

答案 0 :(得分:1)

您正在寻找带有jQuery的.change()事件(纯js中为onchange),由于这是动态加载的数据,因此您需要使用{{1} }:

.on()