0

我在使用 jquery 向 primefaces 组件添加类时遇到问题。这是我的代码:

<script type="text/javascript">  
    $(document).ready(function() {
        $(".required").each(function(){
            comp(this);
        });

        $(".required").change(function () {
            comp(this);
        });

        $(".required").blur(function ()  {
            comp(this);
        });

        $(".required").keyup(function ()  {
            comp(this);
        });

        $(".required").click(function ()  {
            comp(this);
        });
    });

    function comp(a) {
        if (!$(a).val()) {
            $(a).addClass('input_red');
            $(a).children('input').addClass( 'input_red');
        }
        else  {
            $(a).removeClass('input_red');
            $(a).children('input').removeClass( 'input_red');
        } 
    }
</script>  
<p:calendar pattern="dd.MM.yyyy" navigator="true"  id="datea" yearRange="2000" mode="popup" size="5" styleClass="required"   /> 
    <p:selectOneMenu converter="#{classificatorBean.bankConverter}" value="#{contractBean.sBank}" styleClass="required" >
        <f:selectItem itemLabel="Birini saýla" itemValue="" />
        <f:selectItems value="#{contractBean.ucunjiBankList}" var="bn" itemLabel="#{bn.bankName}" itemValue="#{bn}" />
    </p:selectOneMenu>  

谢谢你。

4

1 回答 1

1

p:calendar最终被渲染(在 HTML 中)为

 <span id="datea" class="required">
     <input id="datea_input" ....

所以你的选择器应该看起来像$("span .required")

我的猜测是,p:selectOneMenu你可以使用这个选择器:$("div .required") 如果不起作用,你将不得不“查看源代码”(就像我对 p:calendar 所做的那样)并找出正确的选择器......

于 2013-06-27T11:34:01.623 回答