首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alloy.UI不与JQuery.html一起使用

Alloy.UI不与JQuery.html一起使用
EN

Stack Overflow用户
提问于 2013-06-04 16:30:09
回答 1查看 988关注 0票数 0

我试图在Liferay中动态创建textbox,如here所示。

我可以用<input>标签做,但不能用<aui:input>做,为什么?

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> 

<html>

<portlet:defineObjects />

<script type="text/javascript">

$(document).ready(function(){

    var counter = 2;

    $("#addButton").click(function () {

        if(counter>10){
            alert("Only 10 textboxes allow");
            return false;
        }

        var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);

        alert();

        newTextBoxDiv.html('<aui:input type="text" name="textbox' + counter + '" id="textbox' + counter + '" value="" />');

        alert(newTextBoxDiv.html);

        newTextBoxDiv.appendTo("#TextBoxesGroup");

        counter++;
    });

    $("#removeButton").click(function () {
        if(counter==1){
            alert("No more textbox to remove");
            return false;
        }   

        counter--;

        $("#TextBoxDiv" + counter).remove();
    });

    $("#getButtonValue").click(function () {

        var msg = '';

        for(i=1; i<counter; i++) {
            msg += "\n Textbox #" + i + " : " + $('#<portlet:namespace/>textbox' + i).val();
        }

        alert(msg);
    });
  });
</script>

<div id='TextBoxesGroup'>
    <div id="TextBoxDiv1">
        <aui:input type="text" label="TextBox #1" id="textbox1" name="textbox1"></aui:input>
    </div>
</div>

<input type='button' value='Add Button' id='addButton'>
<input type='button' value='Remove Button' id='removeButton'>
<input type='button' value='Get TextBox Value' id='getButtonValue'>

</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2013-06-04 17:04:30

<aui:input>是jsp代码,而不是HTML。你不能使用

代码语言:javascript
复制
newTextBoxDiv.html('<aui:input type="text" name="textbox' + counter + 
          '" id="textbox' + counter + '" value="" />');

因为您的浏览器将不知道如何处理它。

请记住,jQuery纯粹是javascript,而AUI结合了javascript、组件(例如DOM类、CSS)和java JSP支持。当页面呈现(服务器端)并产生其输出时,将处理<aui:input>和相关标记。您必须在动态呈现的超文本标记语言中使用该输出,或者将内容保存在一个临时变量中,例如通过使用标记。注意:为了使用javascript中的这个结果,您必须正确地转义该结果

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16913092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档