我有两个表单元素。一种是通过 getJSON 调用动态填充的下拉列表。另一个是标准输入文本框。
当表单加载时,下拉列表被填充。文本框“通常”会有一个值,因为这是一个批准表格。
我想要做的是让我的下拉列表中与文本框中的值匹配的值成为选定的选项。这适用于这种类型的其他下拉菜单,但在这种情况下,我认为我的下拉值和文本框值中的空格存在问题。
在我遇到的问题中,我的文本框的值为“Big Red Barn”。(没有引号)我的下拉列表中的一个值也有一个值“大红谷仓”。(无引号)这应该是选定的。
形式:
<select name="cu_vendors" id="cu_vendors">
</select>
<input type="text" name="ven_name" id="ven_name" />
我的下拉列表填充得很好。
查询:
$.getJSON("get-cu-vendors.html", function(data){
$('#cu_vendors').html('');
if(data && data.length > 0){
$('#cu_vendors').append("<option value='' class='red'>Required</option>");
$.each(data, function(key, value){
$("#cu_vendors").append("<option value=\""+$.trim(value)+"\">"+value+"</option>");
});
}else{
$('#cu_vendors').html('');
}
});
$("#cu_vendors option[value="+ $('#ven_name').val() +"]").attr('selected', 'selected');
我收到语法错误,但不是:
Error: Syntax error, unrecognized expression: #cu_vendors option[value=Big Red Barn]
所以,我认为空间是这里的问题。当我在上面的最后一行中使用 $('#ven_name').val() 时,JQuery 中有没有办法引用这些值?
谢谢你的帮助。