添加全选到下拉列表

时间:2012-10-25 10:42:50

标签: sql sql-server-2008 coldfusion coldfusion-8

这是我的疑问:

 <cfquery name="qry" datasource="#variables.staffDs#">
  SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')
 </cfquery>

这是我的ColdFusion下拉框:

  <select name="to" id="to">
  <option value=""> -- Select -- </option>
  <option style="font-weight: bold" value="">Send to All</option>
  <cfoutput query="people">
    <option value="#qry.userid#">#qry.name#</option>
  </cfoutput>
  </select>

所有人的姓名都显示在下拉框列表中。

我想要做的是在下拉框顶部添加一个选项“发送给所有用户”以选择所有用户,我不知道该怎么做。

如果有必要,我想将我可能需要的任何额外SQL合并到当前查询中。

4 个答案:

答案 0 :(得分:3)

如果可能,您只需要更改,只需添加

即可
Select 'Select All'
 union

查询,最终代码如

 Select 'Select All','','',''
 union
 SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')

答案 1 :(得分:1)

 Select 'Select All', '','',''
 union
 SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')

答案 2 :(得分:1)

是否有理由在SQL中而不是在HTML中执行此操作,就像您的示例所示?我已经在系统上工作,其中'全选'或'请选择'联合到查询中,缺点是您不能将该查询重新用于其他目的,因为查询现在生成的东西只在HTML下拉列表。 在我看来,获取人员列表是一个问题,并与这些人建立用户界面和“全选”选项是一个不同的问题。

答案 3 :(得分:1)

我不会添加查询选项,我会在HTML中添加一个额外的选项行,当选择SELECT ALL时,我会将查询更新为不过滤。

<select name="to" id="to">
  <option value=""> -- Select -- </option>
  <option value="ALL">SELECT ALL</option>
  <option style="font-weight: bold" value="">Send to All</option>
  <cfoutput query="people">
    <option value="#qry.userid#">#qry.name#</option>
  </cfoutput>
</select>