第一次点击选择标记时如何附加选项?这意味着select标签在第一次点击之前没有选项。我尝试下面的代码,但选项不显示,直到第二次点击,我希望选项立即显示我第一次点击选择标记。请帮帮我。
<select id="cbVoice" onclick="ClickMe()"></select>
function ClickMe(){
if($('#cbVoice > option').length == 0){
var TheOptions = "<option>Option 1</option><option>Option 2</option><option>Option 3</option><option>Option 4</option>";
$('#cbVoice').html(TheOptions);
}
}
答案 0 :(得分:0)
试试这个
function ClickMe(){
if($('#cbVoice > option').length == 0){
var TheOptions = "<option>Option 1</option><option>Option 2</option><option>Option 3</option><option>Option 4</option>";
$('#cbVoice').empty().append(TheOptions);
}
}
答案 1 :(得分:0)
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($("<option></option>")
.attr("value",key)
.text(value));
});
重复What is the best way to add options to a select from an array with jQuery?
答案 2 :(得分:0)
试试这个:
<select id="cbVoice"></select>
<script type="text/javascript">
var $cbVoice = $("#cbVoice");
$cbVoice.on('mousedown', function(e) {
if ($('option', $cbVoice).length == 0) {
$cbVoice.html('<option>Option 1</option><option>Option 2</option><option>Option 3</option><option>Option 4</option>');
}
});
</script>
答案 3 :(得分:0)
您可以将mousedown
与one()
一起使用,并为options
使用简单的循环:
$('#cbVoice').one('mousedown', function() {
var numOfOpts = 4, opts = [];
for (var i = 1; i <= numOfOpts; i++) {
opts.push( $('<option>', { text: 'Option ' + i }) );
}
$(this).append(opts);
});