Jquery选择在更改时选择的选项

时间:2017-03-23 11:46:50

标签: javascript jquery html

如果选择其他语言,如何使用JavaScript / jquery函数将两个选定的字段保持为select。

我知道STRG + mouselick有效,但我不希望这样。

<fieldset class="form-group">
    <select class="form-control" multiple="multiple">
        <option value="bg">Bulgarisch</option>
        <option value="da">Dänisch</option>
        <option value="de" data-type="edit" selected="selected">Deutsch</option>
        <option value="en" data-type="edit" selected="selected">Englisch</option>
        <option value="et">Estnisch</option>
        <option value="fi">Finnisch</option>
    </select>
</fieldset>

https://jsfiddle.net/j280fhuu/

4 个答案:

答案 0 :(得分:1)

您可以使用mousedown活动

FIDDLE

像这样:

$('option').mousedown(function(e) {
    e.preventDefault();
    $(this).prop('selected', $(this).prop('selected') ? false : true);
    return false;
});

答案 1 :(得分:0)

你可以这样做:

$("#language_selection_audio").change(function(){
    $(this).find("option[data-type='edit']").prop('selected', true)
})

https://jsfiddle.net/j280fhuu/3/

答案 2 :(得分:0)

你可以这样写

<body ng-app="myApp">
  <div ng-controller="demoController as demo" md-theme="{{theme}}" md-theme-watch="true">
    <md-button href="#" class="md-primary md-raised" ng-click=changeTheme()>
      Change theme
    </md-button>
    <div class="thing">
      Current theme is {{theme}}.
    </div>
    <div>
      <md-button href="#" class="md-primary md-raised">
        Primary
      </md-button>
      <md-button href="#" class="md-raised md-accent">
        Accent
      </md-button>
      <md-button href="#" class="md-raised md-warn">
        Warn
      </md-button>
    </div>
  </div>
</body>



(function(){
  var app = angular.module('demoApp', ['ngMaterial'])
  .config(function($mdThemingProvider) {
    $mdThemingProvider.theme('indigo')
      .primaryPalette('indigo')
      .accentPalette('pink');

    $mdThemingProvider.theme('lime')
      .primaryPalette('lime')
      .accentPalette('orange')
      .warnPalette('blue');

    // This is the absolutely vital part, without this, changes will not cascade down through the DOM.
    $mdThemingProvider.alwaysWatchTheme(true);
  })
  .controller('demoController', function($scope){
      $scope.theme = 'lime';
      $scope.changeTheme = function() {
        $scope.theme = $scope.theme === 'indigo' ? 'lime' : 'indigo'; 
      };
  });
})();

JS Fiddle Here.

答案 3 :(得分:0)

不确定这是否有帮助;试试吧! 我无法理解你想要的东西。

var $input = $('#language_selection_audio');

function markLangs( langs ){
    $input.find('option').removeAttr('data-type').attr('selected',false);

    $.each( langs, function( i ){
         $input.find('option[value=' + langs[i] + ']').attr('data-type','edit').attr('selected',true);              
    });             
};

$input.on('change', function(){
    markLangs( $(this).val() );
});

见你。