lli*_*ocs 134 html javascript jquery
在我的HTML中,我有<select>三个<option>元素.我想使用jQuery来检查每个选项的价值与Javascript var.如果匹配,我想设置该选项的选定属性.我该怎么办?
kzh*_*kzh 302
使用普通的旧JavaScript:
var val = "Fish";
var sel = document.getElementById('sel');
document.getElementById('btn').onclick = function() {
var opts = sel.options;
for (var opt, j = 0; opt = opts[j]; j++) {
if (opt.value == val) {
sel.selectedIndex = j;
break;
}
}
}Run Code Online (Sandbox Code Playgroud)
<select id="sel">
<option>Cat</option>
<option>Dog</option>
<option>Fish</option>
</select>
<button id="btn">Select Fish</button>Run Code Online (Sandbox Code Playgroud)
但是如果你真的想使用jQuery:
var val = 'Fish';
$('#btn').on('click', function() {
$('#sel').val(val);
});
Run Code Online (Sandbox Code Playgroud)
var val = 'Fish';
$('#btn').on('click', function() {
$('#sel').val(val);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="sel">
<option>Cat</option>
<option>Dog</option>
<option>Fish</option>
</select>
<button id="btn">Select Fish</button>Run Code Online (Sandbox Code Playgroud)
如果您的选项具有与其文本内容不同的值属性,并且您希望通过文本内容进行选择:
<select id="sel">
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Fish</option>
</select>
<script>
var val = 'Fish';
$('#sel option:contains(' + val + ')').prop({selected: true});
</script>
Run Code Online (Sandbox Code Playgroud)
但是如果你确实有上面的设置,并希望使用jQuery按值选择,你可以像以前一样:
var val = 3;
$('#sel').val(val);
Run Code Online (Sandbox Code Playgroud)
对于支持的浏览器document.querySelector和HTMLOptionElement::selected属性,这是完成此任务的更简洁的方法:
var val = 3;
document.querySelector('#sel [value="' + val + '"]').selected = true;
Run Code Online (Sandbox Code Playgroud)
<select data-bind="value: val">
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Fish</option>
</select>
<script>
var viewModel = {
val: ko.observable()
};
ko.applyBindings(viewModel);
viewModel.val(3);
</script>
Run Code Online (Sandbox Code Playgroud)
<template id="template" is="dom-bind">
<select value="{{ val }}">
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Fish</option>
</select>
</template>
<script>
template.val = 3;
</script>
Run Code Online (Sandbox Code Playgroud)
注意:最终稳定版本尚未更新.
<app id="app">
<select [value]="val">
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Fish</option>
</select>
</app>
<script>
var App = ng.Component({selector: 'app'})
.View({template: app.innerHTML})
.Class({constructor: function() {}});
ng.bootstrap(App).then(function(app) {
app._hostComponent.instance.val = 3;
});
</script>
Run Code Online (Sandbox Code Playgroud)
<div id="app">
<select v-model="val">
<option value="1">Cat</option>
<option value="2">Dog</option>
<option value="3">Fish</option>
</select>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
val: null,
},
mounted: function() {
this.val = 3;
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
Jus*_*ser 21
这里使用jquery的所有示例实际上都不正确,因为即使值已更改,它们也会使select显示第一个条目.
选择阿拉斯加并使用选择显示正确项目的正确方法:
<select id="state">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
Run Code Online (Sandbox Code Playgroud)
使用jquery将是:
$('#state').val('AK').change();
Run Code Online (Sandbox Code Playgroud)
Ivi*_*Raj 13
您可以使用JavaScript更改select元素的值,从而将选择的选项更改为具有该值的选项。
document.getElementById('sel').value = 'bike';??????????
Run Code Online (Sandbox Code Playgroud)
<select id="my_select">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
Run Code Online (Sandbox Code Playgroud)
var my_value = 2;
$('#my_select option').each(function(){
var $this = $(this); // cache this jQuery object to avoid overhead
if ($this.val() == my_value) { // if this option's value is equal to our value
$this.prop('selected', true); // select this option
return false; // break the loop, no need to look further
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275893 次 |
| 最近记录: |