2016-12-01 4 views
0

Функции изменения для выбранного элемента в combobox. Входным является текстовое поле. Когда последнее введенное значение для переменных текстового поля успешно отправляет переменные javascript, но предупреждение не возвращает ничего при его показе.Передача значения из combobox с ajax на другую страницу php

<script> 
$(function(){ 
$("#classroom").on("change", function() { 
    $("#segment_course").show(); 
     }); 
$("#course").on("change", function() { 
    $("#segment_time").show(); 
     }); 
$("#time").on("change", function() { 
    $("#segment_duration").show(); 
     }); 
    var e= document.getElementById("classroom"); 
    var selectclass= e.options[e.selectedIndex].value; 
    var f= document.getElementById("course"); 
    var selectcourse= f.options[e.selectedIndex].value; 
    var g= document.getElementById("duration"); 
    var drtion= g.value; 
$("#duration").on("input", function() { 
    $.ajax({ 
     type: "GET", 
     url: 'classroom_add.php', 
     data: ({selectedclass:selectclass,selectedcourse:selectcourse,courseduration:drtion}), 
     success: function(data) { 
     alert(data); 
     } 
    }); 
    }); 
}); 
</script> 

это classroom_add.php его не показывает ничего и

$classroom=$_GET['selectedclass']; 
$course=$_GET['selectedcourse']; 
$duration=$_GET['drtion']; 
    echo $classroom; 
    echo $course; 
    echo $duration; 
+0

Я не понимаю, зачем использовать 'document.getElementById', когда вы используете jQuery? – Xorifelse

+0

его выбор для выбора значения из выпадающего списка. –

+0

произошла ошибка, когда он принимал значения с jquery. –

ответ

0

Вы отправляете объект данных в формате, но вам нужно отправить данные в виде строки запроса Аяксу получить вызов.

Изменить эту строку:

data: ({selectedclass:selectclass,selectedcourse:selectcourse,courseduration:drtion}), 

к этому:

data: "selectedclass=" + selectedclass + "&selectedcourse=" + selectedcourse + "&courseduration=" + drtion, 

Также поместите выход() или умереть() в конце вашего PHP скрипт, чтобы закрыть сценарий и немедленно вернуться. Надеюсь, это сработает. Благодарю.

+0

№. он не работает. –

+0

Можете ли вы показать мне свой html? – mainuljs

+0

Я отправил его в качестве ответа. –

0
<div class="twelve wide stretched column" > 
    <div class="ui tab segment active" data-tab="a"> 
    <div class="ui form"> 
     <div class="field"> 
      <label>Please Select Classroom</label> 
      <select class="ui search dropdown" id="classroom"> 
      <option value="">Select Classroom</option> 
      '; 
     $faculty_id = $_SESSION["faculty_id"]; 
     $class = "select * from class where faculty=$faculty_id"; 
     $result = $conn->query($class); 
     if ($result->num_rows > 0) { 
      while ($fill = $result->fetch_assoc()) { 
       $class_id = $fill['class_no']; 
       $name = $fill['cls_name']; 
       echo "<option value=$class_id>$name</option>"; 
      } 
     } 

echo ' 
     </select> 
     </div> 
       '; 
     echo' 
     <div class="ui basic segment" style="display: none;" id="segment_course"> 
      <div class="field"> 
      <label>Please Select Course</label> 
      <select class="ui search dropdown" id="course"> 
       <option value="">Select Course</option> 
      '; 

     $faculty_id = $_SESSION["faculty_id"]; 
     $class = "select * from course where faculty=$faculty_id"; 
     $result = $conn->query($class); 
     if ($result->num_rows > 0) { 
      while ($fill = $result->fetch_assoc()) { 
       $course_id = $fill['code_section']; 
       $course_name = $fill['name']; 
       echo "<option value=$course_id>$course_id - $course_name</option>"; 
      } 
     } 
echo ' 
      </select> 
      </div> 
     </div> 
      <div class="ui basic segment" style="display: none;" id="segment_time"> 
       <div class="field"> 
       <label>Please Select Course Start Time</label> 
       <select class="ui search dropdown" id="time"> 
       <option value="">Select Start Time</option> 
       <option value="1">9:00-10:00</option> 
       <option value="2">10:00-11:00</option> 
       <option value="3">11:00-12:00</option> 
       <option value="4">12:00-13:00</option> 
       <option value="5">13:00-14:00</option> 
       <option value="6">14:00-15:00</option> 
       <option value="7">15:00-16:00</option> 
       <option value="8">16:00-17:00</option> 
       <option value="9">17:00-18:00</option> 
       <option value="10">18:00-19:00</option> 
       <option value="11">19:00-20:00</option> 
       <option value="12">20:00-21:00</option> 
       </select> 
       </div> 
      </div> 
      <div class="ui basic segment" style="display: none;" id="segment_duration"> 
       <div class="ui field"> 
       <label>Please Enter Course Duration</label> 
       <div class="ui fluid input"> 
        <input type="text" placeholder="Duration of Course" id="duration"> 
       </div> 
       </div> 
      </div> 
    </div> 
</div> 

это html-часть для соответствующих div.

+0

Спасибо за публикацию html. Я скоро вернусь. – mainuljs

+0

Эта строка в скрипте js: $ ("# duration"). On ("input", function() { Что вы понимаете под входным? Вход - это тег, а не событие. Вы можете использовать keyup или blur для отслеживания изменения в поле ввода. Но я вижу, что у вас есть какие-то классы ввода жидкости ui и т. д. Если вы используете какую-либо библиотеку js, чтобы украсить вход, убедитесь, что вы можете получить исходное значение поля ввода. – mainuljs

+0

вход работает, я написал значения для консоли без проблем внутри входной функции, когда значение вводится внутри продолжительности textbox.but, а не для отправки на другую страницу. Я использую семантическую библиотеку пользовательского интерфейса. –

Смежные вопросы