Javascript ChosenJs动态更改默认选项

Javascript ChosenJs动态更改默认选项,javascript,php,jquery,jquery-chosen,Javascript,Php,Jquery,Jquery Chosen,我有一个select元素 <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($va

我有一个select元素

  <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> 
我有以下几点

<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


演示:

同样的问题,你能在JSFIDLE上做一个工作示例吗?@Lynob,我已经用演示更新了答案,现在检查。谢谢,数据类型:文本在JSFIDLE上为我工作
<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>
$(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");
            }
        });
    });
});