2

ここで途方にくれました。同様のコードが機能しています...

非表示の td を取得できないか、div に変更しても表示されません...これはコールドフュージョンの問題ではないと思います...

必須の Javascript

 <script type="text/javascript">
  function showElement(layer){
  var myLayer = document.getElementById(layer);
  if(myLayer.style.display=="none"){
  myLayer.style.display="block";
  myLayer.backgroundPosition="top";
  } else { 
 myLayer.style.display="none";
  }
  }
 </script>

この Cold Fusion コードはすべて正常に動作し、テーブルに正常に表示されます...関数を追加して非表示にすると、表示できません... typeid は毎回異なります...

 <table cellpadding=2 cellspacing=2 align=center border=1>
<cfoutput query=list group="typeid">
    <cfquery name="gl" datasource="#ds#">
    select * from shindates
    where sdate <= #monthdate# and stime >= #createODBCDateTime(timenow)# and typeid = '#typeid#'
    order by typeid, sdate
    </cfquery>
    <cfquery name="type" datasource="#ds#">
    select * from type
    where typeid = '#typeid#'
    </cfquery>
    <tr>
    <td><img src="../images/edit.png" alt="Edit" width=25 border=0 alt="Show List" onclick="javascript:showElement('#typeid#')"></td>
    <td valign=middle class=verd10>#type.type#</td>
    </tr>
    <tr>
    <td colspan=2 id="#typeid#" style="display: none">

        <cfloop query="gl">
        <table cellpadding=5 cellspacing=5 align=center class=general>
        <tr>
        <td colspan=2>
        #type.type# - #Dateformat(gl.sdate, 'dddd - mmm dd, yyyy')# - #Timeformat(gl.stime, 'HH:mm')#<br>
        </td>
        </tr>
        <tr>
        <cfset csigned = signedup + gsignedup>
        <cfif csigned is not 0>
        <td class=verd9 align=center><b>Unable to Cancel - Users Signed Up</b></td>
        <td class=verd9 align=center>
        <cfform action="adminmanage.cfm?shinid=#gl.shinid#" method="post">
        <input type="submit" value="Manage List" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        <cfelse>
        <td class=verd9 align=center>
        <cfform action="adminlist.cfm?src=del" method="post">
        <input type="submit" value="Cancel" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        <td class=verd9 align=center>
        <cfform action="adminmanage.cfm?shinid=#gl.shinid#" method="post">
        <input type="submit" value="Manage List" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        </cfif>
        </tr>
        </table>

        </cfloop>
</td>
</tr>       
</cfoutput>
</table>

助けていただければ幸いです...

4

2 に答える 2

1

JavaScript をテストしましたが、次の簡単な例では問題なく動作するようです。

<table cellpadding=2 cellspacing=2 align=center border=1>
    <tr>
        <td>
            <img src="http://placehold.it/50x25" border=0 alt="Show List" onclick="showElement('#typeid#')">
        </td>
        <td valign=middle class=verd10>#type.type#</td>
    </tr>
    <tr>
        <td colspan=2 id="#typeid#" style="display: none">The hidden content.</td>
    </tr>
</table>

<script>
    function showElement(layer) {
        var myLayer = document.getElementById(layer);
        if (myLayer.style.display == "none") {
            myLayer.style.display = "table-cell";
            myLayer.backgroundPosition = "top";
        } else {
            myLayer.style.display = "none";
        }
    }
</script>

最初のデモを見る: http://jsfiddle.net/audetwebdesign/BPWR8/

また、HTML/ColdFusion スニペットをそのままテストしましたが、JavaScript は引き続き機能します。
2 番目のデモを参照してください: http://jsfiddle.net/audetwebdesign/xK6jv/

JavaScript がページに含まれていますか?

マイナー ポイント:table-cellの代わりに に表示を設定したい場合がありますblock

于 2013-08-24T17:23:32.700 に答える
0

うーん

私がやろうとしていることよりもずっと下にコーディングしているようです...

私はCFABORTを実行し、すべての作品...

下に - 私はカレンダー機能を持っています - 日付などを引っ張って新しいエントリに差し込みます...

そんなこともありそうですね…

ここでいくつか提示されたコーディングはうまくいくはずです...

サンクス - 私の悪い...

于 2013-08-25T00:03:42.260 に答える