句柄使用Jquery选择框值

时间:2015-10-02 08:18:57

标签: javascript jquery html html5

我选择了包含多个动态值的框。如何处理选择框的值,请建议优化Jquery的方法。

HTML:

  <select name="alphabet">
    <option value=""></option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>

Jquery的:

var alphabet = "B";

if (alphabet == "A") {
    $('select[name^="alphabet"] option[value="A"]').attr("selected", "selected");
} else if (alphabet == "B") {
    $('select[name^="alphabet"] option[value="B"]').attr("selected", "selected");
} else if (alphabet == "C") {
    $('select[name^="alphabet"] option[value="C"]').attr("selected", "selected");
}

http://jsfiddle.net/ysaa4uyc/2/

感谢。

3 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/ysaa4uyc/4/

     public static void main(String args[]){
        DeckOfCards kerds = new DeckOfCards();
        kerds.setVal("A");
        kerds.setTyp("TYPE_A");

        System.out.println("Displaying values of kerds");
        System.out.println("kerds value : " + kerds.getVal());
        System.out.println("kerds type : " + kerds.getTyp());
        }

答案 1 :(得分:0)

以你为例,如果你希望你的jQuery更加模块化以允许你想要的那么多或很少的值,那么你可以根据变量来做。

&#13;
&#13;
$(document).ready(function() {
  var letters = 'ABCDE';
  var random = Math.round(Math.random() * 5) + 1;
  var letter = letters.substring(random - 1, random);
  $('select[name^="alphabet"] option[value="' + letter + '"]').attr("selected", "selected");

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="alphabet">
  <option value=""></option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
  <option value="E">E</option>
</select>
&#13;
&#13;
&#13;

主线是:

$('select[name^="alphabet"] option[value="' + letter + '"]').attr("selected", "selected");

这是基于变量的动态输入,或者是基于变量letter的输出的示例。

如果您想查找当前选定的值,可以查看选择change()

&#13;
&#13;
$(document).ready(function() {
  $('select[name^="alphabet"]').change(function() {
    var value = $(this).find(':selected').val();
    $('.output').text(value);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="alphabet">
  <option value=""></option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
  <option value="E">E</option>
</select>
<div>Value: <span class="output"></span>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

在选择框中添加一个id(名称属性不是必需的)

<select id="alphabet" name="alphabet">
  <option value=""></option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
  <option value="E">E</option>
</select> 

如果您希望选择多个值,请使用&#39; multiple&#39;选择框中的属性

 <select id="alphabet" multiple>
   <option value="A">A</option>
   <option value="B">B</option>
   <option value="C">C</option>
   <option value="D">D</option>
   <option value="E">E</option>
 </select>

使用选择框的id,可以将所选值视为

  $('select[id=alphabet]').val();

您可以使用选择框中的任何事件测试所选值,例如

 $('select[id=alphabet]').change(function() {
     alert($('select[id=alphabet]').val());
 });

以上代码适用于单个/多个值的选择。