我运行了一个ajax调用,将插值更新为一个完全构建的selectbox元素。
我想把创建/返回的选择框转换成一个选择框,一旦它完成了的完全加载,否则它会恢复成一个常规的选择框。
我试过了:
主要代码行:
JavaScript调用:
ajax('{{=URL('controller_name', 'func_name')}}', ['param1'], 'target_div');
Python控制器返回(这将返回一个带有option对象的select控件,并覆盖target_div内部的html):
return SELECT(distinct_values, _id = 'selectbox_id' , _multiple = 'true' , _class='SelectBoxSingleDisabled');
寻找面向web2py的解决方案。如果可能的话,不要使用暴力/黑客的东西。谢谢!
发布于 2018-06-09 07:17:32
有几个选项(前两个是建议的here):
在控制器中,将所选的初始化代码添加到response.js
--这将在将返回的HTML添加到DOM之后执行。
CAT(SELECT(distinct_values,_id = 'manual_group_selectbox‘,_multiple = 'true’,_class='SelectBoxSingleDisabled'),SCRIPT('Chosen‘))
ajax()
函数的第三个参数可以是获取服务器返回的数据的Javascript函数。因此,您可以编写一个函数,将返回的HTML添加到DOM中,然后初始化returned:ajax( '{{=URL('controller_name','func_name')}}','param1',function( html ) { add html to DOM });
.ajaxSuccess()
事件处理程序,它应该在ajax()
函数更新DOM之后运行。https://stackoverflow.com/questions/50768772
复制相似问题