واجهت مشكلة عندما كنت أعمل اليوم. تتم قراءة اسم الشركة على الصفحة باستخدام Ajax بعد تحديد اسم المشروع. ومع ذلك ، يتم استدعاء JQTransform بعد تحميل الصفحة ، لذلك لا يمكن لمربع المنسدلة اسم الشركة عرض أحدث البيانات.
<link Rel = "STYLESHEET" href = "$ {ctx} /jqtransformmplugin/jqtransform.css" type = "text/css"> </ink> <script type = "text/javaScript" src = "$ {ctx} /jqtransformmplugin/jquery.jqtransform.js"> </script>
<script type = "text/javaScript">
$ (function () {
$ ('form').
}) ؛
</script>
باستخدام Firebug ، يمكنك أن ترى أن البيانات قد تم تقسيمها بالفعل ، ولكن تم استدعاء النموذج إلى طريقة JQTransform بعد تحميل الصفحة ، ولم يتم تحديث بيانات UL في jqtransformslectwrapper. بعد التفكير لفترة طويلة ، قررت تحديث UL بطريقة بسيطة وخام.
وظيفة Companyajax (proid) { $ .ajax ({
النوع: "بعد" ،
url: "$ {pagecontext.request.contextpath}/Recordsearch/ajax/getcompanyajax.do" ،
نوع البيانات: "JSON" ،
البيانات: {proid: proid} ،
النجاح: وظيفة (jsondata) {
var tmp = '' ؛
TMP+= '<SELECT ID = "CenterId" name = "centerid" onChange = "ComChange ()" name = "centerid">' ؛
// $ ("#centerid"). فارغ () ؛ TMP+= '<Option Value = "">-الرجاء تحديد-</eboty>' ؛
لـ (var i = 0 ؛ i <jsondata.length ؛ i ++) {
tmp+= '<ortive value = "'+jSondata [i] .centerid+'">'+jSondata [i].
}
TMP+= '</select>' ؛
$ ("#centerid"). parent (). remove () ؛
$ ("#comlable"). بعد (TMP) ؛
$ ("#centerid"). jqtransselect () ؛
}
}) ؛
}
هاها ، بعد Ajax ، يقوم Ajax بتصنيع بيانات الشركة ، وحذف DIV المرتبط بالتحديد الذي تم إنشاؤه بواسطة JQTransform ، ثم يقوم بصق SELCT ، ثم إعادة تخصيص SELECT. هذه الطريقة غبية ، ولكن دعونا نستخدمها أولاً ، وهناك طريقة أفضل للحديث عنها في المستقبل.
أليس هذا رائع؟ . هاها ، في الواقع ، JQtransform أكثر قوة. إذا كنت بحاجة إلى استخدام تأثيرات مماثلة في المستقبل ، فيمكنك الرجوع إليها.