簡體   English   中英

當下拉值來自數據庫時,如何在提交表單時檢索下拉值及其ID?

[英]How to retrieve dropdown value & its id, on submitting the form when the dropdown values are coming from the Database?

我正在處理具有許多下拉框的表單,並且已經從數據庫中檢索了下拉列表的值。 一切都很順利,但是現在我想添加一個提交按鈕。 在提交表單時,我想檢索選定的下拉值及其ID。 我不知道該怎么做。 請幫助我。

提前致謝。

這是我的代碼-

      <!DOCTYPE html>
      <html>
      <?php
      $db = JFactory::getDBO();



      ?>
      <head>
      <script>
          var showClasses = {

          };
          function fnchecked(blnchecked,className)
          {
              if(blnchecked)
              {
                  showClasses[className] = true;
              }
              else
              {
                  showClasses[className] = false;
              }
              var ps = document.getElementById("div-block").children;
              var psNumber = ps.length;
              for (var i = 0; i < psNumber; i ++) {
                  var have = hasClasses(ps[i], showClasses);
                  if (have) {
                      ps[i].style.display = "";
                  } else {
                      ps[i].style.display = "none";
                  }
              }
          }

          function hasClasses(element) {
              var result = false;
              for (var cls in showClasses) {
                  if (showClasses[cls]) {
                      if ((' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1) {
                          result = true;
                      }
                  }
              }
              return result
          }
      </script>
      </head>
      <body>

      <form name="shohide1" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <div>
          <label>Technologies: </label></br>
          <input type="checkbox" name="technologies1" onChange="fnchecked(this.checked,'question1');" /> Kingspan Solar</br>
          <input type="checkbox" name="technologies2" onChange="fnchecked(this.checked,'question2');" /> Solar PVT</br>
          <input type="checkbox" name="technologies3" onChange="fnchecked(this.checked,'question3');" /> Insulation</br>
          <input type="checkbox" name="technologies4" onChange="fnchecked(this.checked,'question4');" /> Gas boiler</br>
          <input type="checkbox" name="technologies5" onChange="fnchecked(this.checked,'question5');" /> Oil boiler</br>
          <input type="checkbox" name="technologies6" onChange="fnchecked(this.checked,'question6');" /> Heat recovery ventilation</br>
          <input type="submit" name="formSubmit" value="Get The Info">


          <div id="div-block" >
              <p class=" question1 " style="display: none">

              <?php
              $query = $db->getQuery(true);
              $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=1';
              $db->setQuery((string)$query);
              $results = $db->loadObjectList();
              if ($results)
              {
                  print_r($results['0']->question);
                  echo '<select>';
                  echo '<option value="">Click & Choose</option>';
                  foreach($results as $result) 
                  {
                      echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                  }
                  echo '</select>';
              }
              ?>
              </p>
              <p class="question1 question2 question3 question4 question5 question6 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=2';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
              </p>
              <p class="question1 question2  " style="display: none">
               <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=3';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
              </p>
              <p class="question1 question2 question3 question4 question5 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=4';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
              </p>
              <p class=" question2 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=5';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
             </p>
             <p class=" question3 " style="display: none">
             <?php
              $query = $db->getQuery(true);
              $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=6';
              $db->setQuery((string)$query);
              $results = $db->loadObjectList();
              if ($results)
              {
                  print_r($results['0']->question);
                  echo '<select>';
                  echo '<option value="">Click & Choose</option>';
                  foreach($results as $result) 
                  {
                      echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                  }
                  echo '</select>';
              }
              ?>
             </p>
              <p class=" question3 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=7';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
              </p>
              <p class=" question4 question5 question6 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=8';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
              </p>
              <p  class=" question4 question5 " style="display: none">
              <?php
                $query = $db->getQuery(true);
                $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=9';
                $db->setQuery((string)$query);
                $results = $db->loadObjectList();
                if ($results)
                {
                    print_r($results['0']->question);
                    echo '<select>';
                    echo '<option value="">Click & Choose</option>';
                    foreach($results as $result) 
                    {
                        echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                    }
                    echo '</select>';
                }
              ?>
             </p>
             <p  class=" question4 question5 " style="display: none">
             <?php
              $query = $db->getQuery(true);
              $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=10';
              $db->setQuery((string)$query);
              $results = $db->loadObjectList();
              if ($results)
              {
                  print_r($results['0']->question);
                  echo '<select>';
                  echo '<option value="">Click & Choose</option>';
                  foreach($results as $result) 
                  {
                      echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                  }
                  echo '</select>';
              }
             ?>
             </p>
             <p  class=" question6 " style="display: none">
             <?php
              $query = $db->getQuery(true);
              $query = 'select a.question, b.answer from #__questions As a RIGHT JOIN #__answers As b ON a.id = b.question_id where b.question_id=11';
              $db->setQuery((string)$query);
              $results = $db->loadObjectList();
              if ($results)
              {
                  print_r($results['0']->question);
                  echo '<select>';
                  echo '<option value="">Click & Choose</option>';
                  foreach($results as $result) 
                  {
                      echo '<option value="'.$result->answer.'">'.$result->answer.'</option>';
                  }
                  echo '</select>';
              }
              ?>
            </p>
          </div>
      </div>


      </body>
      </html>

嘗試這個

選擇id =“ first”

選項onclick =“ getValue('。$ result-> answer。')”>

函數getValue(val){

$('#first')。attr(“ name”,“ val”);

}

您可以使用隱藏類型獲取值。

為了更好地理解,我添加了一種隱藏類型和一個新按鈕。 您可以在onselect下拉事件中看到值。 這可能對您沒有什么幫助:

<script>
function setSelectedValue() {

    var objSelect = document.getElementById("demo_onselect").value;
    //alert(objSelect); //your selected value
     document.getElementById('newbutton').value = objSelect; //assign your selected value to new button
      document.getElementById('hiddenfield').value = objSelect; //assign your selected value to new button
     var hiddenid = document.getElementById('newbutton').value;
      var newbtnval = document.getElementById('newbutton').value;
     alert("hidden field value is: "+hiddenid);
      alert("new button  value is: "+newbtnval);

}



</script>
<select style="width: 280px" id="demo_onselect" name="demo_onselect" onchange="setSelectedValue();">
  <option selected="">Please Select</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>

</select>
<input type="hidden" id="hiddenfield" name="hiddenfield" value="" />
<input type="button" id="newbutton" name="newbutton" value="" />

現場演示在這里:>>

暫無
暫無

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

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