通过jQuery创建选择(select)和选项(option)输入(input)。
通过jQuery创建选择(select)和选项(option)输入(input)。
有没有办法像在jquery代码中为文本输入框那样创建选择输入框。下面的代码对选择输入框无效。非常感谢帮助。
counter = 1; var searchInput = $(' ', { type: 'text', placeholder: '产品名称', name: 'row['+counter+'][product_name]', class : 'txtvalue', id: 'project' + counter }); var quarterInput = $(' ', { name: 'row['+counter+'][quarter]', class : 'text', id: 'project-quarter' + counter }); quarterInput.append($('
问题的出现原因:代码中创建了一个select元素,但是没有添加任何option选项。
解决方法:在创建select元素后,使用循环遍历data对象,为每个键值对创建一个option选项,并将其添加到select元素中。
整理后的文章如下:
尝试以下代码:
var data = { 'foo': 'bar', 'foo2': 'baz' } var s = $(''); for(var val in data) { $('', {value: val, text: data[val]}).appendTo(s); } s.appendTo('body');
不起作用。我在newTextBoxDiv div中添加了新的select元素,但没有任何选项。
问题出现的原因是代码中创建了一个select元素,但是没有添加任何option选项。
解决方法是在创建select元素后,使用循环遍历data对象,为每个键值对创建一个option选项,并将其添加到select元素中。修改后的代码如下:
var data = { 'foo': 'bar', 'foo2': 'baz' } var s = $(''); for(var val in data) { $('', {value: val, text: data[val]}).appendTo(s); } newTextBoxDiv.append(searchInput).append(" ").append(s).append(hidd);
在这段内容中,问题的原因是因为作者误解了HTML中的
var generate_options = function(values){ var options = []; if('splice' in values){ for(var i = 0; i < values.length; i++){ options.push($(''+values[i]+' ').val(values[i])); } } return options; } $('select').append( generate_options([1,2,3,4]) );
作者提到了自己尝试创建变量selectinput和optioninput,但不知道如何将option包装到select中。根据上面的代码,可以看出,通过使用jQuery选择器$('select')来选中