jQuery的如何清除/在一个变量替换存储的值(从.VAL有())(jQuery How to cl

2019-10-29 04:43发布

感谢所有帮助之前,我已成功地走到这一步:我能行添加到表,并选择一个选项,显示文本输入。 这里是小提琴链接 。 以前我用的多选,但我改为单选择现在因为多选了导致的显示我的“输出型”的问题(可能是你能提出更好的方法来做到这一点;))

现在我面临着在存储在变量中的值将不会被新的输入值替换另一个问题。 因此,“输出数量”栏将只显示第一个数字输入。 另一个奇怪的是,它被放置在第一位HTML DIV它只能从“区输入”采取/更新输入。 我试图给别人改变发生得顶部和同样的事情。

var textInput = "";
$('.TextInput').empty();
textInput = $('.TextInput').val();

我试图.empty()但它不工作,你可以看到。 每个的div具有不同的ID。 但是,如果使用ID喜欢我测试只是其中之一以前, var textInput = $('#outputTextInput').val(); ,我怎么能做到这一点同样为别人? 我用OR ||var textInput = $('#outputTextInput').val() || $('#zoneTextInput').val(); var textInput = $('#outputTextInput').val() || $('#zoneTextInput').val();

此外,我必须为“臂”的另一个功能,因为它使用的是复选框而不是文本输入?

更新:这是工作却没有关于我的程序:(( http://jsfiddle.net/yvonnezoe/MKfLU/1/

更新:我发现这个问题与此! 见我的问题在这里: jQuery的VS jQuery Mobile的-请问脚本序列回事?

Answer 1:

尝试更换您的代码此行:

$('.TextInput').empty();
textInput =  $('.TextInput').val();

有了这个:

$('.TextInput').not($(this).prev('.TextInput')).val('');
textInput =  $(this).prev('.TextInput').val();

然后再试一次...

这是你的标记:

<input type="text" class="TextInput" id="zoneTextInput" value="">
<input type="submit" class="add" value="Add" />

现在,当你点击带班Add按钮add ,然后$(this)表示在当前范围内的元素和$(this).prev('.TextInput')表示元素以前将其与类TextInput (这里,输入文本框)。 所以, $(this).prev('.TextInput').val()会给你添加按钮,当前的文本框您点击的价值。 然而, $('.TextInput').val()给你的第一个元素的值,无论哪个添加按钮被点击。

欲了解更多详情: 上一个()和不()



Answer 2:

为textInput = $(本).prev()VAL(); 工作,因为在点击事件,这是指向按钮,一个先前选择在DOM(输入元件在这种情况下)的现有元件,然后.VAL()选择它的价值。 哪一部分仍不能正常使用?



文章来源: jQuery How to clear / replace the stored value in a variable (got from .val() )