1

我正在尝试获取它,以便当我单击链接时,它会更改选择字段的值。一旦选择了第一个字段,就会有 JS(如下所述)来启用下一个选择字段。这似乎是由“onChange”触发的,所以我认为我的代码可以工作。它确实更改了第一个选择字段中的值,但是除非我从第一个选择中手动选择值并用鼠标单击它,否则不会触发启用第二个选择并获取其值的 AJAX。

更改单击时选择的值的代码是...

$('.dropdown-element li').click(function(){
    var value = $(this).attr("rel");
    $('#finder-3--16').val(value).trigger('change');
    return false;
});

我试图触发的代码基本上如下......

initialize: function(containerId, ajaxUrl, loadingText, isNeedLast)
{
    this.containerId = containerId;
    this.ajaxUrl     = ajaxUrl;
    this.loadingText = loadingText;
    this.isNeedLast  = Number(isNeedLast);
    this.selects     = new Array();

    //possible bug if select order in the HTML will be different
    $$('#' + this.containerId + ' select').each(function(select){
        select.observe('change', this.onChange.bindAsEventListener(this));
        this.selects[this.selects.length] = select;
    }.bind(this));
},

onChange: function(event)
{
    var select     = Event.element(event);
    var parentId   = select.value;
    var dropdownId = 0;

    /* should load next element's options only if current is not the last one */
    for (var i = 0; i < this.selects.length; i++){
        if (this.selects[i].id == select.id && i != this.selects.length-1){
            var selectToReload = this.selects[i + 1];
            if (selectToReload){
                dropdownId = selectToReload.id.substr(selectToReload.id.search('--') + 2);
            }
            break;
        }
    }

任何和所有的帮助都非常感谢,因为我很难过!谢谢!

4

0 回答 0