jQuery - 我无法获得选择价值

时间:2018-03-23 23:05:28

标签: jquery

我想用dropzonejs发布我的表单数据和图像。我能够获取输入并选择值,除了cities_id。

当用户选择国家/地区时,我会提取有关该国家/地区的城市并在选择字段中显示这些国家/地区。即使用户选择了一个城市,我也无法获得这个cities_id。在ajax请求的参数中似乎未定义。

选择表单

<div class="col-sm-12 col-md-3">
  <select id="country" class="select2" name="country_id">
    <option value="0">Select a country</option>
     <?php $get_country = $db->prepare("SELECT * FROM country ORDER BY id ASC");
     $get_country->execute();
     while ($fetch_country = $get_country->fetch(PDO::FETCH_ASSOC)) { 
     ;?>           
     <option value="<?php echo $fetch_country['id'] ;?>">
        <?php echo $fetch_country['name'] ;?>
     </option>
     <?php } ;?>
  </select>
</div>
<div class="col-sm-12 col-md-3">
          <select id="city" class="select2" name="city_id">
          </select>
</div>

dropzonejs发送表单数据

myDropzone.on('sendingmultiple', function (file, xhr, formData) {

 $("form input, form select").each(function () {
          formData.append($(this).attr("name"), $(this).val());
       }
     formData.append('name', $('#summernote').summernote('code'));
});

如何从我的选择表单中获取cities_id值?

1 个答案:

答案 0 :(得分:0)

我重新创建了类似的东西,似乎有效。我收到两个警报。 “B”然后是“C”。

您是否检查过通过AJAX添加的选项标签是否具有有效的value属性且没有格式错误的HTML?

当您添加<option>元素时,您是使用AJAX替换整个<select id="city"></select>还是仅使用新的<option>元素填充现有的select?

您使用的是哪种浏览器和jQuery版本?

这是我的(部分)代码

<select name="sel1">
    <option value="A">A</option>
    <option value="B">B</option>
</select>

<select name="sel2"></select>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

    imageDropzone.on('sendingmultiple', function(a,b,c) {
        $('select').each(function() {
            alert($(this).val());
        });
    });

    $('[name=sel1]').on('change', function() {
        addOpt();
    });

    function addOpt() {
        $.get('options.html', null, function(){
            $('[name=sel2]').append('<option value="C">C</option>');
        });
    }
</script>