Javascript 通过jQuery为html元素的属性分配空字符串
在我当前的spring项目中,我通过以下jQuery代码为Javascript 通过jQuery为html元素的属性分配空字符串,javascript,jquery,Javascript,Jquery,在我当前的spring项目中,我通过以下jQuery代码为添加元素: function load_options(target, lista) { target.empty(); target.append("<option class=\"form-control\" value=\"\"></option>"); $.ajax({ type: 'GET', url: lista }).done(funct
添加元素:
function load_options(target, lista) {
target.empty();
target.append("<option class=\"form-control\" value=\"\"></option>");
$.ajax({
type: 'GET',
url: lista
}).done(function(data){
var json = jQuery.parseJSON( data );
$.each(json.item, function(index, item) {
target.append('<option class="form-control" value="'+item.id+'">'+item.nome+'</option>');
});
});
}
函数加载\u选项(目标,列表A){
target.empty();
目标。追加(“”);
$.ajax({
键入:“GET”,
网址:lista
}).完成(功能(数据){
var json=jQuery.parseJSON(数据);
$.each(json.item,函数(索引,项){
target.append(“”+item.nome+“”);
});
});
}
我的问题是这一行:
target.append("<option class=\"form-control\" value=\"\"></option>");
target.append(“”);
当我运行应用程序并打开jsp页面时,此选项如下所示:
<option class="form-control" value></option>
当我需要的是这个:
<option class="form-control" value=""></option>
任何人都知道如何使用上面列出的jQuery代码获取此信息吗?您只需检查空字符串
'
,然后将其分配给null
if ($.trim(value) === '') {
value = null; // or set whatever value you need to
}
我没有很好的解释为什么会发生这种情况,但我无法用jQuery代码解决这个问题。相反,我将与select相关的jsp代码修改为:
<form:select path="${entry}.id" class="form-control select" data-lista="${url}">
<form:option value="${null}" label=""/>
</form:select>
我的jQuery代码是:
$("select.select").each(function(){
var target = $(this);
var lista = $(this).data('lista');
load_options(target, lista);
});
function load_options(target, lista) {
$.ajax({
type: 'GET',
url: lista
}).done(function(data){
var json = jQuery.parseJSON( data );
$.each(json.item, function(index, item) {
var option = $('<option class="form-control" value="'+item.id+'">'+item.nome+'</option>');
if(option.length > 0)
target.append(option);
});
});
}
$(“select.select”)。每个(函数(){
var目标=$(此);
var lista=$(this.data('lista');
加载选项(目标、列表A);
});
函数加载选项(目标,列表A){
$.ajax({
键入:“GET”,
网址:lista
}).完成(功能(数据){
var json=jQuery.parseJSON(数据);
$.each(json.item,函数(索引,项){
var选项=$(''+项.nome+'');
如果(option.length>0)
target.append(选项);
});
});
}
这就解决了我的问题。我的第一个问题是,为什么需要查看引号?@Karl AndréGagnon如果没有引号,表单将提交以形成一个非空值,当应用程序尝试将数据保存到数据库中时,是什么导致了错误。我使用
进行了测试,没有出现错误。我不确定,但您可以尝试--target.append(“”)--嗯,这并不是因为检查员没有出示报价,这意味着他们不在那里。看看小提琴:@karlandréGagnon那么为什么发送到服务器的值不是空的?应该是吧?