我在 visualforce 页面中有一个命令按钮,我需要添加 oncomplete 属性。
<apex:commandButton id="btnParticipant" value="Add Participant" action="{!addParticipant}" reRender="participantTable" />
我需要调用我定义的 jquery 方法并将表行作为我的参数传递。这是我的jQuery:
<script type="text/javascript">
var j$ = jQuery.noConflict();
j$(document).ready(function() {
var dataRows = j$('tr.dataRow');
dataRows.each(function(index, elem) {
updateImages(elem);
});
j$("img[id$=':deleteImage']").on("click", function(event) {
updateImages(j$(this).closest('tr'));
});
j$('[id$=btnParticipant]').on("click", function(event){
var dataRows = j$('tr.dataRow');
dataRows.each(function(index, elem) {
updateImages(elem);
});
});
});
function updateImages(myRow) {
var rowInputs = j$(myRow).find('input[type="text"]');
var contact = (j$(rowInputs[0]).val());
var user = (j$(rowInputs[1]).val());
var account = (j$(rowInputs[2]).val());
if (contact !== '') {
j$(rowInputs[0].parentNode).find('img').show();
j$(rowInputs[1].parentNode).find('img').hide();
j$(rowInputs[2].parentNode).find('img').hide();
}
else if (user !== '') {
j$(rowInputs[0].parentNode).find('img').hide();
j$(rowInputs[1].parentNode).find('img').show();
j$(rowInputs[2].parentNode).find('img').hide();
}
else if (account !== '') {
j$(rowInputs[0].parentNode).find('img').hide();
j$(rowInputs[1].parentNode).find('img').hide();
j$(rowInputs[2].parentNode).find('img').show();
}
if (account !== '' && contact !== '') {
j$(rowInputs[0].parentNode).find('img').show();
j$(rowInputs[1].parentNode).find('img').hide();
j$(rowInputs[2].parentNode).find('img').hide();
}
}
</script>
特别是,我需要以某种方式使用 oncomplete 属性复制这部分代码:
var dataRows = j$('tr.dataRow');
dataRows.each(function(index, elem) {
updateImages(elem);
});
基本上,上面的代码使用类名“datacell”获取每个表行,并循环遍历这些行并隐藏某些图像。
如何使用 commandButton 中的 oncomplete 属性调用此代码?
谢谢你的帮助。问候。