javascript - 表单将 <select> 提交为未定义

标签 javascript php jquery ajax forms

我有以下<select>里面 <form>这是用ajax提交的。选择正在提交,值为:未定义。怎么了?

<select class="form-control" name="site_theme" id="site_theme" value="<?php $result = mysqli_query($con,"SELECT * FROM settings"); while($row = mysqli_fetch_array($result)) { echo $row['site_theme']; }?>">
   <?php 
      $result = mysqli_query($con,"SELECT * FROM themes");

      while($row = mysqli_fetch_array($result))
      {
        echo "<option VALUE='".$row['theme_name']."'>".$row['theme_name']."</option>";
      }
    ?>
</select>

复制到这里的 JavaScript 很难看,所以我在这里做了一个 jsFiddle:http://jsfiddle.net/yz5r4/

上面的代码结果如下:

<select class="form-control" name="site_theme" id="site_theme" value="Amelia">
   <option value="Amelia">Amelia</option>
   <option value="Cerulean">Cerulean</option>
   <option value="Cosmo">Cosmo</option>
   <option value="Cyborg">Cyborg</option>
   <option value="Flatly">Flatly</option>
   <option value="Journal">Journal</option>
   <option value="Readable">Readable</option>
   <option value="Simplex">Simplex</option>
   <option value="Slate">Slate</option>
   <option value="Spacelab">Spacelab</option>
   <option value="United">United</option>
</select>

最佳答案

您的问题首先是 ajax 调用之前的返回。

第二个选择器错误!

这是一个向您展示的示例。 http://jsfiddle.net/yz5r4/3/

您的选择器:$('input$("#site_theme")')

但它应该是$("#site_theme")$("select#site_theme")

HTML:

<select class="form-control" name="site_theme" id="site_theme" value="Amelia">
   <option value="Amelia">Amelia</option>
   <option value="Cerulean">Cerulean</option>
   <option value="Cosmo">Cosmo</option>
   <option value="Cyborg">Cyborg</option>
   <option value="Flatly">Flatly</option>
   <option value="Journal">Journal</option>
   <option value="Readable">Readable</option>
   <option value="Simplex">Simplex</option>
   <option value="Slate">Slate</option>
   <option value="Spacelab">Spacelab</option>
   <option value="United">United</option>
</select>
<input type="button" id="mclick" value="click" />

JS:

// General Form Submit
$(function () {
    $('.error').hide();
    $("#mclick").click(function () {
        // validate and process form here  
        var theme = $("#site_theme").val();
        alert(theme);
    });
});

关于javascript - 表单将 <select> 提交为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19104558/

相关文章:

javascript - 查找由 rgba 颜色创建的十六进制颜色

javascript - 基于多个分隔符解析为数组

javascript - 如何使用 JavaScript 从动态存储数据的网站获取跨度值

javascript - JQuery - 检测对 CSS 'display: table-row-group' 的支持

javascript - 禁止在悬停时打开 jquery 菜单中的子菜单

javascript - 根据 URL 显示元素

javascript - jQuery 合并表行,但考虑以前的列

PHP:CURLOPT_URL 的真正作用是什么?

PHP 抓取 txt 文件中的最后 15 行

php - 适用于YouTube的Google Oauth:为什么我会收到 “Undefined index: oauth_token”(吉姆(Jim S.)代码)