【问题标题】:Store value of a javascript dependent dropdown menu in mysql在 mysql 中存储依赖于 javascript 的下拉菜单的值
【发布时间】:2021-07-02 03:32:38
【问题描述】:

这段代码保存的是部门的值,而不是学位的值。除了度数没有保存到 mysql 之外,所有工作都很好。我正在使用 PHP

HTML

<select class ="form-control" name="department">
  <option value="" disabled selected>Select an option</option>
  <option value="Applied-Psychology">Applied Psychology</option>
  <option value="Botany">Botany</option>
  <option value="Chemistry">Chemistry</option>
  <option value="Computer-Science">Computer Science</option>
  <option value="English">English</option>
  <option value="Islamiyat">Islamiyat</option>
  <option value="Mathematics">Mathematics</option>
  <option value="Statistics">Statistics</option>
  <option value="Urdu">Urdu</option>
  <option value="Zoology">Zoology</option>
</select>
<select name="degree" id="degree">
  <option value="BS" class="Botany Zoology Applied-Psychology Computer-Science Mathematics Chemistry English Islamiyat Urdu Statistics">BS</option>
  <option value="MS" class="Chemistry">MS</option>
  <option value="M.Sc" class="Botany Zoology Applied-Psychology Computer-Science Mathematics Chemistry">M.Sc</option>
  <option value="M.A" class="English Islamiyat Urdu">M.A</option>
  <option value="M.Phil" class="Botany Zoology Chemistry English Islamiyat Urdu">M.Phil</option>
  <option value="Ph.D" class="Botany Zoology Chemistry English Islamiyat Urdu">Ph.D</option>
</select>

Javascript

    var degree = $("[name=degree] option").detach()
$("[name=department]").change(function() {
  var val = $(this).val()
  $("[name=degree] option").detach()
  degree.filter("." + val).clone().appendTo("[name=degree]")
}).change()
document.getElementById('degree').addEventListener('change', function() {
  console.log('You selected: ', this.value);
});

PHP

$department = $_POST['department'];
$degree=$_POST['degree'];

【问题讨论】:

  • echo $_POST['degree'] 看看它是否有你期望的值。如果是这样,您将需要发布更多代码,包括您的 SQL 查询。
  • @Matt 我再次运行它,实际上它现在除了 M.Sc 之外的所有其他学位......我不知道为什么即使我也使用相同的格式..

标签: javascript php html mysql ajax


【解决方案1】:

只需在您的 javascript 函数中调试您正在获取学位选择框的值

根据您的示例,只需首先提醒学位值

alert($("[name=degree] option").detach());

或者你可以检查一下

alert($( "#degree" ).val());

如果你得到这个值然后继续你的代码

【讨论】:

  • degree.filter("." + val).clone().appendTo("[name=degree]") }).change(), 你能告诉我你为什么要在这里追加?有什么功能吗?或者您只需要在 POST 中获取选定的学位和部门值?
猜你喜欢
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2018-03-27
  • 2015-08-27
相关资源
最近更新 更多