我在jQuery中设置了一些onchange事件,用于根据在另一个选择下拉列表中选择的内容填充选择下拉框。
我还需要这些也可以在页面加载上运行,以便根据页面加载时第一个选择框的内容返回结果(否则我会以空的选择框结束)。我已经浏览了互联网,但无法找到任何符合我想做的事情
我的Jquery代码是
$(function(){
//Get Contacts for Company
$("select#ContactCompanyId").change(function(){
var url = "contactList/" + $(this).val() + "";
$.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
$.each(j, function(key, value){
options += '<option value="' + key + '">' + value + '</option>';
})
$("select#QuoteContactId").html(options);
})
})
//Get list of product Categories
$("select#ProductCategory").live('change', function(){
var url = "productList/" + $(this).val() + "";
var id = $(this).attr('name');
$.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
options += '<option value="0">None</option>';
$.each(j, function(key, value){
options += '<option value="' + key + '">' + value + '</option>';
})
$("select#QuoteItem" + id + "product_id").html(options);
})
})
//Function to add product data into the form
$(".Product").live('change', function(){
var url = "productData/" + $(this).val() + "";
var id = $(this).attr('title');
$.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){
$("#QuoteItem" + id + "name").val(j['Product']['name']);
$("#QuoteItem" + id + "price").val(j['Product']['price']);
$("#QuoteItem" + id + "description").val(j['Product']['description']);
})
})
})
提前感谢您的帮助
答案 0 :(得分:9)
您可以在将事件与.trigger()
绑定后立即触发事件:
$("select#ContactCompanyId").change(function(){
var url = "contactList/" + $(this).val() + "";
$.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
$.each(j, function(key, value){
options += '<option value="' + key + '">' + value + '</option>';
})
$("select#QuoteContactId").html(options);
});
}).trigger('change');
答案 1 :(得分:4)
$(document).ready(function() {
$('#your_select_id').change();
});
这将激活您的选择的更改事件及其当前值。它等同于用户选择当前值,它将触发附加到它的任何事件,这些事件将从onchange事件中触发。