我正试图让它当我点击一个链接时,它会改变一个选择字段的值。一旦选择了第一个字段,就会有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;
}
}
任何和所有的帮助都非常感激,因为我很难过!谢谢!