1

当我正常运行 CFSELECT 时,它运行得很好,但是当我在 javascript 中添加时,它会出错。

正常的它可以工作。

<tr id='selectionDropdown'>
    <td >Non-Keyword Traffic:</td>
      <td>
        <cfif Session.ID eq Session.userID>
           <cfselect name="nonkeyword" multiple="true"  query="GetCodes" display="Code" value="Code" selected=#Form.nonkeyword#  >
            </cfselect>
        </cfif> 
      </td>
</tr>

它不起作用

//The non keyword and all are checked

<td id='selectionDropdown'></td>
<cfoutput>    
function ShowDropdown(){

                if($('##nonKeyword').is(':checked') && !$('##all').is(':checked'))
                {
                    $( "##selectionDropdown" ).empty();
                    $( "##selectionDropdown" ).append( "<td>Non-Keyword Traffic:</td><td><cfif Session.ID eq Session.userID><cfselect name='nonkeyword' multiple='true'  query='GetCodes' display='Code' value='Code' selected='#Form.nonkeyword#'  ></cfselect></cfif></td>" );
                }
    }
</cfoutput>

在浏览器中我得到错误。

<td id='selectionDropdown'>Context validation error for tag cfselect.<td>

当我得到一些评论和答案时。我正在编辑我之前尝试过的,而不是使用 CFSELECT。

当它可以执行这个时,为什么不使用 CFSELECT

if($('##nonKeyword').is(':checked') && !$('##all').is(':checked'))
            {
                $( "##selectionDropdown" ).empty();
                $( "##selectionDropdown" ).append( "<td>Non-Keyword Traffic:</td><td><cfif Session.ID eq Session.userID><select name='nonkeyword' multiple='true' selected='#Form.nonkeyword#'  ><cfloop query='GetCodes'><option value='#code#'>#code#</cfloop></select></cfif></td>" );
            }
4

1 回答 1

2

您不能将 CFML 写入屏幕并希望它能神奇地执行!那是你的问题。

这篇文章“ CFML 请求/响应过程”对其进行了彻底的解释,但是——归根结底——CFML 需要在执行之前进行编译,这需要由 CFML 服务器完成,而不是客户端浏览器。

于 2015-04-22T14:58:26.540 回答