带复选框的struts2 ajax

时间:2012-11-23 06:27:16

标签: ajax jsp struts2

我无法使用带有id(<div id="reverse" style="position:absolute; left:500px; top:379px;"></div>的div将我的ajax调用复选框置于正确的位置。如何使用带有三列的一行带来它们。如果我使用此代码我无法将它放在名为modNameCheck.instead的选择框之后,它位于选择框

的一侧
<s:form action="queueform1.action" name="queueform1" method="post" >

   <s:select label="Flow Name" list="flowNameList" name="flowNameCheck" >
       <s:iterator status="stat" value="flowNameList">
       </s:iterator>   
   </s:select> 
   <s:textfield name="formnam" value="" label="Form Name"/>
   <s:textfield name="formhead"  value="" label="Form Heading"/>
   <s:checkbox  name="initiator" fieldValue="yes" 
                label="Click here if initiator"/>
   <s:textfield name="compldays"  value="" label="Complete day"/>
   <s:select label="Department" list="modNameList" 
             name="modNameCheck" id="detail" onchange="chk3()">
       <s:iterator status="stat" value="modNameList">
       </s:iterator>   
   </s:select>
   <div id="reverse" style="position:absolute; left:500px; top:379px;">
   </div>
   <s:textfield  name="getcheckid" value=""/>
   <s:submit value="Save" align="center" />     

</s:form> 

我的ajax代码是:

<script type="text/javascript">        
    chk3=function()
    {
       //alert("hai!!");
       //$("#hide").hide();
       var vals2=$("#detail").val();
       //alert(vals2);
       $.post("userQueueAjaxForm.jsp",{modName:vals2},function getattname(data)
       {
        $("#reverse").html(data);

       });                       
    }    
</script>

我的ajax叫复选框是

while(rs.next())
{ 

   %>    

   <input type="checkbox" id='attributeNameCheck[<%=i%>]' name="checkname"  
      onclick="attributeformcreation('queueform1','attributeNameCheck[<%=i%>]');"
      value="<%=rs.getString(1)%>"><%=rs.getString(2)%>

   <%i++;%>

   <%
}   

1 个答案:

答案 0 :(得分:0)

您正在使用Scriptlet(<%<%= ...)。

Scriptlet很糟糕。

我强烈建议你看看如何以纯Struts2的方式重构它,没有Scriptlets ......那里有很多例子;)

那就是说,你的问题与Struts2和Ajax无关,它是简单的css:

你只是缺少

display: inline-block;

进入你的div(作为一个块级元素,默认情况下会输入一个新行。)

然后:

<div id="reverse" style="display: inline-block;"></div>

应该按预期工作。

然后使用div的边距/填充来获得所需的结果。