对不起,这个问题有点麻烦,但是,我正在尝试构建一个表单摘要,它将使用所有要使用的字段填充一个div (立即)。下面是这个字段的一个小示例:小提琴
由于某些原因,JS没有像我期望的那样工作,有人能指出我做错了什么吗?
例如,我希望它输出:“和名称:约翰,除了222号”。
我也希望能够点击一个结果来删除它,并清除字段。谢谢
$(".allS").change(function () {
if ($(this).next('.textArea').not(':empty'))
// varible to hold string
var str = "";
$("select option:selected").each(function () {
str += $(this).text() + " ";
});
$("#text_here").text(str);
}).change();
$('.textArea').change(function(){
var $inputs = $('form#form :input[type="text"]'),
result = "";
$inputs.each(function(){
// access the individual input as jQuery object via $(this)
result += $(this).val()+"<br>";
});
// store result in some div
$('div#text_here').text(result);
}).change();发布于 2015-06-11 19:11:39
您的代码中有许多错误。我将它简化为一个非常短的代码,它只完成获得所需输出所需的任务。这是工作小提琴。
$(".allS, .textArea").change(function () {
var str = '';
if ($('#name').val().length > 0 && $('#number').val().length > 0)
var str = $('#nameMod>option:selected').text() + ' name:' + $('#name').val() + ' ' + $('#numberMod>option:selected').text() + ' number ' + $('#number').val();
$("#text_here").html(str);
});基本上,这是将一个change事件处理程序附加到两个类(.alls, .textArea),并且当事件被触发时,两个输入字段都会测试是否有任何内容。如果此测试通过,则由所有相关值组成一个字符串,并设置div内容。如果测试失败(没有内容),则str变量包含一个空字符串,并清除div。
发布于 2015-06-11 18:57:20
只要浏览一下代码,选择器'form#form :input[type="text"]'看上去就错了。首先,输入不是伪类。此外,属性匹配不应该有引号。
这可能是你想要的,也可能不是你想要的(我认为,从你的html中可以看出):
'form#form input[type=text]'另外,您的<br>没有工作,因为您调用了text(),而打电话给html()。
https://stackoverflow.com/questions/30789056
复制相似问题