2010-11-10 27 views
0

我有一個表單「B」,我們從表單「A」中獲取所有元素的詳細信息,我的意思是請求從「A」流向「B」 。對於一個元素 ,我們需要調用Ajax請求並獲取Assocaited細節。現在我們發送「更改」事件的ajax請求。 哪個事件需要被序用於滿足both.Can我們的onload使用,變更。它沒有發揮出來Jquery:我們應該在這個元素中調用什麼元素

$("#txt1").bind('change load', function() { 
    var dstvalue = $("#txt1").val(); 
    if (dstvalue.length < 3) { 
     $("#err").text("characters"); 
    } 
    $.ajaxSetup({ 
     cache: false 
    }); 
    $.getJSON("ajax.php", { 
     'term': $("#txt1").val() 
    }, function(data) { 
     $("#err").text($.trim(data[0].label)); 
    }); 
}); 

回答

1

您可以直接在你的ready處理捆包之後打電話給你.change()處理程序,以滿足load事件,像這樣:

$.ajaxSetup ({ cache: false}); 
$(function() { 
    $("#txt1").change(function(){ 
    var dstvalue = $(this).val(); 
    if(dstvalue.length < 3) { 
     $("#err").text("characters"); 
    } 
    $.getJSON("ajax.php",{'term' : dstvalue}, function (data) { 
     $("#err").text($.trim(data[0].label)); 
    }); 
    }).change(); //call it on ready 
}); 
+0

當我輸入值時,Iam能夠獲得傳遞給「#err」的正確值,並且當來自其他表單的值 – Someone 2010-11-10 14:54:33

0

所以,我猜你想要啓動一次Ajax請求的頁面加載時,又如果#txt1中的值更改?

如何:

$(document).ready(function() { 
    function getDetails() { 
     var dstvalue = $("#txt1").val(); 
     if (dstvalue.length < 3) { 
      $("#err").text("characters"); 
     } 
     $.ajaxSetup({ cache: false }); 
     $.getJSON("ajax.php", { 'term': $("#txt1").val() }, function(data) { 
      $("#err").text($.trim(data[0].label)); 
     }); 
    } 

    $("#txt1").change(getDetails); 
    getDetails(); 
}); 
0

如果你要綁定的類型爲「文本」的輸入事件它沒有,這就是爲什麼你不能綁定的onLoad。您可以將它與焦點綁定,而當輸入接收焦點時發生。

如果您想在文檔準備就緒時發送Ajax,則應該使用$(document).ready()。