2

id()を使用してdivを使用してチェックボックスと呼ばれるajaxを正しい位置に配置<div id="reverse" style="position:absolute; left:500px; top:379px;"></div>できません。3列の1行でそれらを表示するにはどうすればよいですか。このコードを使用している場合、modNameCheckという名前の選択ボックスの後に配置できません。代わりに、選択ボックスの横に表示されます

<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++;%>

   <%
}   
4

1 に答える 1

0

スクリプトレット ( <%<%=...) を使用しています。

スクリプトレットは悪いです。

スクリプトレットを使用せずに、純粋な Struts2 の方法でこれをリファクタリングする方法を確認することを強くお勧めします...そこにはたくさんの例があります;)

とはいえ、あなたの問題は Struts2 にも Ajax にも関係なく、単純な css です。

あなたには欠けているだけです

display: inline-block;

div に挿入します (これは、ブロック レベルの要素であり、デフォルトで新しい行をフィードします)。

それで:

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

期待どおりに動作するはずです。

次に、divのマージン/パディングで遊んで、目的の結果を取得します。

于 2012-11-23T09:31:03.810 に答える