选择相关下拉值转换并提交

时间:2014-03-07 01:46:12

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

背景
使用SQL Server 2008 r2运行ColdFusion 9 我正在使用3级链式下拉列表/相关选择与jquery关系。
此示例http://www.appelsiini.net/projects/chained

为了将它们链接起来,它们依赖于id,这是一个int。

选项来自数据库。

<select name="brand" id="brand">
<option value="1">Apple</option>
<option value="2">Samsung</option>
</select>  

<select name="device" id="device">
<option value="1" class="apple">iPhone5s</option>
<option value="1" class="apple">iPhon4s</option
</select>  

<select name="os" id="os">
<option value="1" class="apple">iOS5</option>
<option value="1" class="apple">iPhon4s</option>
</select>  

和Jquery

<script type="text/javascript">
  $(document).ready(function(){
    $("#device").chained("#brand");
    $("#os").chained("#device");
  });
</script>

所有这些都有效

当我提交这个时,我只得到id值,例如是 数字是实际值
品牌:1
装置:1
os:1

现在问题 当我提交表单时,我首先运行一个select语句来获取相关id的文本值。然后在同一页面上插入转换值。

现在一切正常。我唯一担心的是使用这种方法会有什么问题吗? 还有其他方法可以实现这个目标吗?

获取值的SQL脚本

  select distinct brand_list, brand_id
  from 
  where brand_id = '#form.brand#'
  WAITFOR DELAY '00:00:02';

即使需要等待延迟。我把它放在那里的唯一原因因为我希望这个查询在插入任何内容之前先完成

提交值的SQL脚本

 insert into forms (brands) Values (brand_list)

1 个答案:

答案 0 :(得分:1)

我不确定是否正确设置下拉列表以使用此jquery方法。我相信它看起来应该是这样的,使用相同的JQuery行:

<select name="brand" id="brand">
    <option value="Apple">Apple</option>
    <option value="Samsung">Samsung</option>
</select>  

<select name="device" id="device">
    <option value="iPhone5S" class="Apple">iPhone 5S</option>
    <option value="iPhone4S" class="Apple">iPhone 4S</option
</select>  

<select name="os" id="os">
    <option value="iOS7" class="Apple iPhone5S">iOS 7</option>
    <option value="iOS5" class="Apple iPhone4S">iOS 5</option>
</select>  

如果要将其与ColdFusion查询集成,可以将其更改为:

<CFQUERY name="qryBrands" datasource="myDS">
    SELECT brand_key, brand_description, class_list FROM BRAND_TABLE
</CFQUERY>
<CFQUERY name="qryDevices" datasource="myDS">
    SELECT device_key, device_description, class_list FROM DEVICE_TABLE
</CFQUERY>
<CFQUERY name="qryOS" datasource="myDS">
    SELECT os_key, os_description, class_list FROM OS_TABLE
</CFQUERY>


<select name="brand" id="brand">
    <option value="-" class=""> Select a brand </option>
    <CFOUTPUT query="qryBrands">
        <option value="#brand_key#" class="#class_list#">#brand_description#</option>
    </CFOUTPUT>
</select>  

<select name="device" id="device">
    <option value="-" class=""> Select a device </option>
    <CFOUTPUT query="qryDevices">
        <option value="#device_key#" class="#class_list#">#device_description#</option>
    </CFOUTPUT>
</select>  

<select name="os" id="os">
    <option value="-" class=""> Select an OS </option>
    <CFOUTPUT query="qryOS">
        <option value="#os_key#" class="#class_list#">#os_description#</option>
    </CFOUTPUT>
</select>  

显然,这可以定制和简化,但它可以让你开始。