我选择了包含多个动态值的框。如何处理选择框的值,请建议优化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/
感谢。
答案 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更加模块化以允许你想要的那么多或很少的值,那么你可以根据变量来做。
$(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;
主线是:
$('select[name^="alphabet"] option[value="' + letter + '"]').attr("selected", "selected");
这是基于变量的动态输入,或者是基于变量letter
的输出的示例。
如果您想查找当前选定的值,可以查看选择change()
。
$(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;
答案 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());
});
以上代码适用于单个/多个值的选择。