jQuery如何清除/替换变量中存储的值(从.val()获取)

jQuery如何清除/替换变量中存储的值(从.val()获取),jquery,variables,text,input,Jquery,Variables,Text,Input,多亏了前面的所有帮助,我终于做到了这一点:我能够将行添加到表中,选择一个选项并显示文本输入。 这是你的电话号码。以前我使用multiselect,但现在我改为single select,因为multiselect在显示中造成了问题。我的输出类型可能是您可以建议更好的方法 现在我面临另一个问题,存储在变量中的值不会被新的输入值替换。因此,“输出编号”列将仅显示第一个输入编号。另一件奇怪的事情是,它只能从“区域输入”接收/更新输入,因为它位于html分区的第一个位置。我试图将其他输入更改为顶部,同样

多亏了前面的所有帮助,我终于做到了这一点:我能够将行添加到表中,选择一个选项并显示文本输入。 这是你的电话号码。以前我使用multiselect,但现在我改为single select,因为multiselect在显示中造成了问题。我的输出类型可能是您可以建议更好的方法

现在我面临另一个问题,存储在变量中的值不会被新的输入值替换。因此,“输出编号”列将仅显示第一个输入编号。另一件奇怪的事情是,它只能从“区域输入”接收/更新输入,因为它位于html分区的第一个位置。我试图将其他输入更改为顶部,同样的事情也发生了

var textInput = "";
$('.TextInput').empty();
textInput = $('.TextInput').val();
我试过了。空的,但你看不出来它工作。每个div都有不同的ID。但是,如果我像之前测试的那样使用ID,那么var textInput=$'outputOutput'.val,我怎样才能对其他人做同样的事情?我是用还是喜欢 var textInput=$'OutputOutput'.val | |$'zoneTextInput'.val

另外,我必须为Arm创建另一个函数,因为它使用复选框而不是文本输入

更新:这正在工作,但不在我的程序上:


更新:我发现了这个问题!请参见此处的问题:

尝试替换代码中的以下行:

$('.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" />
现在,当您用class Add单击Add按钮时,$this表示当前作用域中的元素,$this.prev'.TextInput'表示它前面的元素,这里是类TextInput,即输入文本框。因此,$this.prev'.TextInput'.val将通过单击的添加按钮为您提供当前文本框的值。然而,$'.TextInput'.val为您提供了第一个元素的值,无论单击哪个add按钮


有关更多详细信息:和

textInput=$this.prev.val;之所以有效,是因为在click事件中,它指向按钮,prev选择dom中的previor元素(在本例中为input元素),然后.val选择它的值。哪部分仍然不起作用?

谢谢!它在小提琴上工作,但在我的程序上不工作:现在它不能添加任何内容。知道为什么吗?我不知道你那边到底出了什么问题。小提琴和你的程序中的标记可能不同吗?看你的代码不能说什么::嗯,这太奇怪了,但无论如何,你介意解释一下你的代码吗我不太明白这个。谢谢你的解释。这是有道理的!:但奇怪的是,它在我真正的程序中不起作用:不确定你的程序中发生了什么….:$。TextInput’使用class=TextInput获取所有内容。你确定那就是你想要的吗?:哦,是的,但不,那不是我想要的。我认为使用ID会很乏味…我不太确定如何替换它。TextInput使用各自的ID通常从ID开始是个好主意。然后使用css选择器规则选择所需的元素。所以你会做一些类似$'sensorText input.TextInput'的事情,你是说我应该使用OR语句?但还是一样的。。。在这种情况下,只有第一个sensorTextInput可以更新值…textInput=$this.prev.val;是的,它在这个fiddle中运行良好,但在我的整个程序中不起作用:你知道为什么它在我的web应用程序中给出了未定义,但在fiddle上没有给出吗?它现在在fiddle上也是未定义的:/jsfiddle.net/yvonnezoe/7nzzr你需要了解$this.prev.val;应该这样做。您的prev不再是输入。关键是从$this(添加按钮)导航dom。在您最近的示例中,prev指向一个跨度。因此,这不再有效,但jquery提供了一些函数,允许您从add按钮获取输入,以便获取值。