简体   繁体   English

使用选定的内部模式(a4j:outputPanel)不起作用

[英]Use of chosen inside modal (a4j:outputPanel) doesn't work

I'm new to jQuery and I try to use select chosen input inside a modal using <a4j:outputPanel> but it doesn't work. 我是jQuery的新手,我尝试在使用<a4j:outputPanel>的模式中使用选择的选定输入,但是它不起作用。

This my code : 这是我的代码:

<script type="text/javascript" src="resources/js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="resources/js/chosen.jquery.js"></script>
<script type="text/javascript" src="resources/js/docsupport/prism.js"></script>
<script type="text/javascript" src="resources/js/jquery-no-conflict.js"></script>
<script type="text/javascript" src="resources/js/bootstrap.js"></script>
<script type="text/javascript" src="resources/js/jstz.min.js"></script>

<script type="text/javascript">
    function showEditProductModal(visible) {
        jQuery(function ($) {
            $('#addProductModal').modal(visible ? 'show' : 'hide');
        });
    }
    $('.chzn-select').chosen();
</script>
</ui:define>

<link rel="stylesheet" type="text/css" href="resources/css/chosen.css"/>
<link rel="stylesheet" type="text/css" href="resources/docsupport/prism.css" />

<!-- Add/Edit product modal -->
<a4j:outputPanel id="addProductModal"
                 layout="block"
                 styleClass="modal modal-large hide fade">
    <h:form id="editProductModalForm" prependId="false" styleClass="form-horizontal">
        <div class="modal-header">
            <h3>Ajouter un produit</h3>
        </div>
        <div class="modal-body" style="padding: 10px; max-height: 500px;">
            <div class="container-fluid"
                 style="margin-top: 10px; margin-bottom: 10px;">
                <div class="row-fluid">
                    <table border="1" class="table table-striped table-bordered">
                        <tr>
                            <td>Brands</td>
                            <td colspan="5">
                                <select id="chzn-select"
                                        style="width:350px;"
                                        multiple="multiple"
                                        class="chzn-select"
                                        data-placeholder="Select an option...">

                                    <option value=""></option>
                                    <option value="">OPT1</option>
                                    <option value="">OPT2</option>
                                </select>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>
        </div>

        <div class="modal-footer" style="text-align: center;">
            <a id="cancelEditProductButton"
               href="#"
               class="btn btn-primary"
               data-dismiss="modal">
                #{common.COMMON_Cancel}
            </a>

            <a4j:commandButton id="saveEditProductButton"
                               type="button"
                               value="#{common.COMMON_Save}"
                               styleClass="btn btn-danger"
                               onclick="showWaitPane(true);
                                       showEditProductModal(false);"
                               oncomplete="showWaitPane(false);"
                               reRender="dataTableForm" />
        </div>
    </h:form>
</a4j:outputPanel>

When I put the select chosen outside the modal it work fine but without a $.noConflict(); 当我将选择的select放到模态之外时,它可以正常工作,但是没有$.noConflict(); on jquery-no-conflict.js. 在jquery-no-conflict.js上。 The problem in this case is that the modal doesn't appears on click. 在这种情况下的问题是,点击时不会出现模式。

Do you have any suggestion or idea about it? 您对此有任何建议或想法吗?

Sorry, I did a mistake in copying code: 抱歉,我在复制代码时犯了一个错误:

<script type="text/javascript" src="resources/js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="resources/js/chosen.jquery.js"></script>
<script type="text/javascript" src="resources/js/docsupport/prism.js"></script>
<!--<script type="text/javascript" src="resources/js/jquery-no-conflict.js"></script> -->
<script type="text/javascript" src="resources/js/bootstrap.js"></script>
<script type="text/javascript" src="resources/js/jstz.min.js"></script>

<script type="text/javascript">
    function showEditProductModal(visible) {
        jQuery(function ($) {
            $('#addProductModal').modal(visible ? 'show' : 'hide');
        });
    }
    $('.chzn-select').chosen();
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM