我在发帖之前就搜索过此类问题。找到的大多数答案与 struts2 jQuery 网格无关。这是我的情况:
- 我已成功在初始加载时动态填充下拉框。
- 现在我想根据另一个下拉框中的选择重新加载一个下拉框。
- 我正在寻找一种使用属性/主题的内置解决方案,但我找不到。
任何人都可以分享任何解决方案吗?
这是我的代码:
<sjg:gridColumn
name="aut"
index="aut"
title="AUT"
width="300"
sortable="true"
editable="true"
edittype="select"
surl="%{selectautsurl}"
editoptions="{ dataUrl : '%{selectautsurl}' }"
/>
<sjg:gridColumn
name="eforms"
index="eforms"
title="Page/Eform"
width="300"
sortable="true"
editable="true"
edittype="select"
surl="%{selecteformsurl}"
editoptions="{ dataUrl : '%{selecteformsurl}' }"
/>
非常感谢您的帮助。
你需要做的是添加dataEvents
到第一个gridColumn
更改后的值会重新加载第二个gridColumn
。你可以做这样的事情,
<s:url id="url_id" namespace="/your_namespace"
action="action_url_to_get_the_reloaded_list" >
<sjg:gridColumn
name="aut"
index="aut"
title="AUT"
width="300"
sortable="true"
editable="true"
edittype="select"
surl="%{selectautsurl}"
editoptions="{ dataUrl : '%{selectautsurl}', dataEvents: [type: 'change', fn: function(e)
{
var url= '<s:property value="url_id" />' + '?your_attribute_sent_to_the_back=' + $('input#aut').val();, options;
$.getJSON(url, function(retVal)
{
options += '<option value=""> </option>';
$.each(retVal.ur_returned_value, function(index, element)
{
options += '<option value="' + element.your_value + '">' + element.your_display_value + '</option>';
});
$('input#eforms').html(options);
});
}] }"
/>
我没有测试这个解决方案,但我认为它会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)