-3

我正在使用 .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

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

谢谢。

4

6 回答 6

5

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

您需要更新您的设置器:

$('#pg_textbox').val( $('#pg_textbox').val() + ',' + b);
于 2012-09-19T06:24:16.557 回答
1

检查是否已经有一个值,如果有,连接这些值...

var newVal = 2;
var prevVal = $("#pg_textbox").val();
if (prevVal == '')
{
  $("#pg_textbox").val(newVal);
}
else
{
  $("#pg_textbox").val(prevVal + ',' + newVal);
}
于 2012-09-19T06:24:20.780 回答
1

试试这个代码

    var b=1;
    var old_val=$("#pg_textbox").val();
    $("#pg_textbox").val(old_val+" ,"+b);
于 2012-09-19T06:24:45.523 回答
1

这就是你所追求的。

var a = 1,
    b = 2;

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

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

var yourValues = [1,2],
    output = yourValues.toString();
$('#pg_textbox').val(output);​
于 2012-09-19T06:26:01.953 回答
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);
}

另外,你可以继续这个系列的第三,第四,等等......

于 2012-09-19T06:32:21.933 回答
1

更新这个:

var b=2;
$('#pg_textbox').val( $('#pg_textbox').val() + ',' + b);
于 2012-09-19T06:32:27.270 回答