javascript - ChosenJs 动态更改默认选项

标签 javascript php jquery jquery-chosen

我有一个选择元素

  <select class="form-control position" name="position">
  <option value="" selected disabled hidden>Pick A Position</option>  
<?php
  $option = 0; 
foreach ($jsonIterator as $key => $val) {
      if(is_array($val)) {
        $option++
 ?>
   <option value="<?  echo $option; ?>"><?  echo $key; ?></option>  
 <?php }}?>   
</select> 

我有 3 个按钮,它们的值分别为 1、2 和 3

<button type='button' value='1' class='btn-primary pull-left apply'>Apply</button> 

我有以下 JS

<script>$(document).ready(function () {
    $('.position').chosen();
    $(".apply").click(function () {
        var id = $(this).val();
        $('html,body').animate({ 
          scrollTop: $("#contact").offset().top }, 'slow');
        $.ajax
            ({
                type: "POST",
                url: "contact.php",
                data: id,
                cache: false,
                success: function (html) {
                    $(".positon").val(id).trigger('chosen:updated');
                }
            });
          })
    });

当我点击按钮时,ChosenJs的默认选项没有改变

最佳答案

更新您的选项值,

HTML

<select class="form-control position" name="position">
  <option value="" selected disabled hidden>Pick A Position</option>  
<?php $option = 0; foreach($jsonIterator as $key => $val){ ?>
    <?php if(is_array($val)){ $option++; ?>
   <option value="<?= $option; ?>"><?= $key; ?></option>  
 <?php }}?>   
</select>

并将选择值传递给ajax,

jQuery

$(function(){
    $('select[name="position"]').chosen();
    $(".apply").click(function () {
        var id = $(this).val();        
        $('html,body').animate({ scrollTop: $("#contact").offset().top }, 'slow');      
        $.ajax({
            type: "POST",
            url: "contact.php",
            data: { id : id },
            cache: false,
            success: function (html){
                $('select[name="position"]').val(id).trigger("chosen:updated");
            }
        });
    });
});

演示:https://jsfiddle.net/03Lxkoaz/30/

关于javascript - ChosenJs 动态更改默认选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49915695/

相关文章:

javascript - 将新数字“推”入对象数组

php - jQuery、AJAX - 如何判断脚本是否返回 false

javascript美元符号变量不起作用

javascript - 当我点击空白区域时,Jquery Mobile 出现奇怪的空间

php - 如何选择按日期分组的所有时间戳(Timestapms) PHP/MYSQL

javascript - 使用 jQuery AJAX 和 PHP 创建文件上传进度条

JavaScript - 如何创建一个变量名

javascript - 如何使用 facebook 标签 FBML、xml 模式和 javascript 等标签

php - 从 Php session 获取数据

php - WordPress 按数组中的元值排序