我在jquery中使用.val()函数从文本框中发布值。当我发出警报时,我可以看到整个字符串。但是当放置文本框时,只有空间来临之前的数据。有人知道这个问题,请帮助 我在这里分享我的代码
$('#add_input').click(function(){
var item = $('input[id="itemname"]').val();
i++;
$('#dynamic1').append('<tr id="row'+i+'">\n\
<><td> <input type="text" name="serial_id" id="serial" value='+i+' ></td>\n\
<td><input type="text" name="item1[]" value='+item+'></td></tr>');
项目texbox中仅获取输入值的第一部分。
答案 0 :(得分:2)
假设item
中包含字符串hello
。
你有:
'... value='+item+'...'
连接后,它变为:
value=hello
这不是正确的HTML语法。 hello
需要用引号括起来:
value="hello"
这意味着您需要将代码更改为:
'... value="'+item+'"...'
// --------^--------^----
在HTML5中,对于不包含特殊字符或空格的值,引号是可选的。但是,如果他们这样做,则需要引号来标识值的开始和结束位置。查看this了解详情。
答案 1 :(得分:1)
问题出在这里
$newnode->setAttribute("siteId", $row['siteID']);
在您的情况下,value='+item+'
用于表示字符串的开始位置和结束位置。 '
用于表示HTML值的开始位置和结束位置。代码只是指定"
动态地进入字符串,但它没有指定它是HTML值,因此解决方案是
item