0

想问一些问题,Jquery 不能与 xPages 下拉列表和列表框一起使用吗?单击提交按钮时,该值无法保存到nsf中,并且卡在同一屏幕上,我无法调试,因为xPages没有提供任何调试工具供我调试代码,因此对xPages感到沮丧

我确实解决了之前的列表框问题,方法是用隐藏的编辑框替换列表框,使用一些数组,提交按钮就像一个魅力。我可以替换为值不向用户显示,但是

现在我尝试下拉,我使用相同的方法,保持下拉,并在其上添加另一个编辑框,但似乎下拉保持干扰提交按钮,我不希望删除下拉,但我不知道需要提交的值,有什么指南吗?搜索了所有代码,下拉列表没有做任何事情,只是简单地显示数据,而不是插入下拉值的正常方式,我使用 Jquery 根据选择另一个下拉列表将值添加到下拉列表中,它像魅力一样工作,但无法保存到 nsf

部分jQuery代码

function insertDropDown(sDiv){
var sKeep=[]; //store data as array
var sValue="";

$('select[id$=hidCombo] option').each(function() {
    sKeep.push($(this).attr('value'));
});

if (sDiv == "") { $('select[id$=comboCompany] option').remove(); return; }
$('select[id$=comboCompany] option').remove();
$('select[id$=comboCompany]').append(new Option("","")); //empty value for the 1at item

for(var i=0;i<=sKeep.length-1;i++){
    if (sKeep[i].trim() != ""){
        if(sKeep[i].substr(0,sDiv.length) == sDiv)
        { 
            var selName=sKeep[i].substr(sDiv.length);
            $('select[id$=comboCompany]').append(new Option(selName,selName));
        }               
    }
}}


function setHidComp(){$('select[id$="comboCompany"]').on('change', function() {
    var sDiv = $('select[id$=comboDivision]').val().trim();

    $('select[id$="hidCombo"]').val(sDiv + $(this).val());
    $('input[id$="inputText1"]').val($(this).val());
});

}

xPages 示例代码

<xp:label value="*Company :" id="fl_Company" for="inputText1" themeId="Form.Label">
                </xp:label></xp:td>
            <xp:td>

            <xp:comboBox id="comboCompany"></xp:comboBox>
            <xp:inputText id="inputText1"><xp:this.value><![CDATA[${javascript:var bt = compositeData.dbSource.flCompany;bt = bt || "currentDocument.fl_Company"; return '#{'+bt+'}';}]]></xp:this.value></xp:inputText></xp:td>

任何想法?只要combobox有值,我就无法提交成功,我在网上搜索过,xPages的信息太少了,对不起我的英语不好

4

1 回答 1

0

XPages 组合框和列表框使用来自dojo 工具包的dijit 控件。尝试混合使用 jQuery 和 Dojo 并不适合胆小的人。除非您有 3 个很好的理由(并且“我只是更喜欢它”只是其中一个),否则您最好坚持使用 Dojo,除非您可以负担用户加载更多 JavaScript 或负担自己从 XPage 中删除所有 Dojo。

于 2012-12-07T02:50:09.137 回答