jQuery val()问题

时间:2012-09-19 06:21:07

标签: javascript jquery

我使用.val()来设置HTML中的值。我的代码是这样的:

function first(){
var a=1;
$("#pg_textbox").val(a);
}

现在,此代码在隐藏的HTML id“pg_textbox”中设置了vales:

<input type="hidden" id="paging_textbox">

在第二个函数调用中,它是这样的:

function secound(){
var b=2;
$("#pg_textbox").val(b);
}

现在我使用:

$("#pg_textbox").val();

获取'#pg_textbox'的值我得到的输出是

2

它正在取代价值观。我希望我的输出像:

1,2

如何在不更换值的情况下获得此输出?

感谢。

6 个答案:

答案 0 :(得分:5)

当您致电.val(b)时,您会重置文本框的整个值。调用.val()只会检索文本框中的内容,而不会回忆过去的值。

您需要更新您的二传手:

$('#pg_textbox').val( $('#pg_textbox').val() + ',' + b);

答案 1 :(得分:1)

检查是否已存在值,如果存在,则连接值...

var newVal = 2;
var prevVal = $("#pg_textbox").val();
if (prevVal == '')
{
  $("#pg_textbox").val(newVal);
}
else
{
  $("#pg_textbox").val(prevVal + ',' + newVal);
}

答案 2 :(得分:1)

试试此代码

    var b=1;
    var old_val=$("#pg_textbox").val();
    $("#pg_textbox").val(old_val+" ,"+b);

答案 3 :(得分:1)

这就是你所追求的目标。

var a = 1,
    b = 2;

$("#pg_textbox").val(a + ', ' + b);

虽然我的代码在技术上是正确的,但我无法想象它的任何实际应用。由于您希望输出一些以逗号分隔的值,因此在数组中输入值可能更明智,例如

var yourValues = [1,2],
    output = yourValues.toString();
$('#pg_textbox').val(output);​

答案 4 :(得分:1)

您的意思是您正在为输入类型添加值,并且不希望它们被替换?

那么这就是你需要做的事情。

您需要创建另一个隐藏输入类型,用于存储总和。

<input type="hidden" id="backup"/>

function first(){
var a=1;
$("#pg_textbox").val(a);
$("#backup").val(a);
}

function second(){ // Your second function
var b=1;
var sum = $("#backup").val()+b;
var old_val = $("#pg_textbox").val();
$("#pg_textbox").val(old_val+','+sum);
}

此外,您可以使用第三,第四等继续本系列...

答案 5 :(得分:1)

更新此内容:

var b=2;
$('#pg_textbox').val( $('#pg_textbox').val() + ',' + b);