簡體   English   中英

將DropDown選擇的值與其他選擇的查詢結果集一起傳遞

[英]Passing DropDown selected value along with other selected query result set

我有一個表單“ test.cfm”,它將值傳遞到操作頁面“ testAction.cfm”!

test.cfm執行以下操作:

  1. 下拉框“ fruitsList”。

  2. 查詢“ qryFruits”,它提取數據,然后顯示查詢結果集

  3. 每個查詢結果集的“添加”按鈕

它應該如何工作:

  1. 下拉菜單“ fruitsList”將被選中。

  2. 選擇結果列表中的“添加”按鈕后,將傳遞“查詢結果集-CurrentRow”值。

    “添加”按鈕傳遞“ query-resultset -CurrentRow”值,而不傳遞“ Drop down”值。

如何傳遞“下拉選擇值”?

    <!--- test.cfm --->
    <script type="text/javascript" >
          function assign_fruits()
         //  
         {
           var a = document.fruitsForm.fruitsList.selectedIndex;
           document.getElementById('salesForce').value = document.fruitsForm.fruitsList.options[a].value; 
           }
        </script>

    <form name="fruitsForm" >
    <table>
      <tr>
       <td>
        <select name="fruitsList" onChange="assign_fruits()">
         <option disabled="true">select One
         <option value="m1">apple
         <option value="m2" selected>orange
         <option value="m3">banana
         <option value="m4">grape
         <option value="m5">mango
        </select> 
       </td>
<!--- Trying to assign the DD-value to an input field --->
 <input  name="salesForce" value=""> 
      </tr> 
     <cfquery name="qryFruits" datasoure="#dsn#">
      Select values from Fruits_Table
     </cfquery>
     <cfloop startrow="1" endrow="#qryFruits.recordcount#" query="qryFruits">
      <cfoutput>
      <tr> 
       <td><a href="testAction.cfm">Add</a></td>     
      </tr>   
      </cfoutput>
     </cfloop>
    </table>

    </form>

請幫助。 瓦斯

您正在以非常規的方式處理此問題,但是我相信以下內容可以滿足您的需求:

 <cfdump var="#form#">

<!--- test.cfm --->
<cfset qryFruits = queryNew("fruitID,fruitName")>
<cfset queryAddRow(qryFruits, 2)>
<cfset querySetCell(qryFruits, "fruitID", 1, 1)>
<cfset querySetCell(qryFruits, "fruitName", "Kiwi", 1)>
<cfset querySetCell(qryFruits, "fruitID", 2, 2)>
<cfset querySetCell(qryFruits, "fruitName", "Lime", 2)>

<script type="text/javascript" >
    function assign_fruits() {
        var a = document.fruitsForm.fruitsList.selectedIndex;
        document.getElementById('salesForce').value = document.fruitsForm.fruitsList.options[a].value; 
    }
    function submit(id) {
        document.getElementById('fruitClicked').value = id;
        document.forms["fruitsForm"].submit();
    }
</script>

<form name="fruitsForm" id="fruitsForm" action="index.cfm" method="post">
    <p>
        <select name="fruitsList" onChange="assign_fruits();">
            <option value="">select One</option>
            <option value="m1">apple</option>
            <option value="m2" selected>orange</option>
            <option value="m3">banana</option>
            <option value="m4">grape</option>
            <option value="m5">mango</option>
        </select>
    </p>

    <!--- Trying to assign the DD-value to an input field --->
    <p>Fruit Slected from List Above: <input name="salesForce" id="salesForce" value=""></p>
    <p>Fruit Clicked Below: <input name="fruitClicked" id="fruitClicked" value=""></p>
    <cfloop startrow="1" endrow="#qryFruits.recordcount#" query="qryFruits">
    <cfoutput>
        <div></div><a href="##" onclick="submit(#qryFruits.fruitID#);">#qryFruits.fruitName#</a></div>
    </cfoutput>
    </cfloop>
</form>

請注意,在某些元素中缺少“ id”屬性,這導致JavaScript失敗。

我不太確定最終結果是什么,但是您是否只是想將#values#中的輸出傳遞給該javascript函數?

您始終可以直接傳遞值。

<tr>
     <td>#values#  </td> 
     <td><a href="test.cfm" onClick="assign_fruits(#values#);">Add</a></td>          
</tr> 

您的JavaScript表示var a = document.fruitsForm.fruits.selectedIndex; 但是您的表單字段不稱為“ fruits”,而是稱為fruitsList。 嘗試

document.fruitsForm.fruitsList.selectedIndex;

代替。

您的輸出可以稍微簡化。 但是我還是不太清楚你想做什么。 testAction.cfm的目的是什么?

<cfoutput query="qryFruits">
        <tr> 
            <td><a href="testAction.cfm?ID=#qryFruits.CurrentRow#">Add #qryFruits.Values#</a></td>           
        </tr>   
</cfoutput>

好的,我仍然不確定您要做什么。 我假設您想將參數salesForce傳遞給testAction.cfm。 它的值應該是m1,m2,m3,...

因此,從本質testAction.cfm?salesForce=m1您需要使自己的網址像testAction.cfm?salesForce=m1這樣正確嗎? 如果是這樣,請擺脫隱藏的表單字段和所有JavaScript。 是否將fruitsList下拉列表始終按順序編號為m1-mX? (即您不去m1,m79,m4,m2,m99等)。

這是一個假設-下拉列表中的水果列表是否對應於水果查詢? 即是以相同順序排列的相同水果嗎? 如果是這樣,您應該拋棄下拉列表,只保留鏈接(反之亦然)。

<!--- test.cfm --->
<cfquery name="qryFruits" datasoure="#dsn#">
  Select values from Fruits_Table
</cfquery>

<table> 
  <cfoutput query="qryFruits">
    <tr> 
        <td><a href="testAction.cfm?salesForce=m#qryFruits.CurrentRow#">Add #qryFruits.Values#</a></td>           
    </tr>   
  </cfoutput>
</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM