2

我不确定这里的语法,但到目前为止我的代码是这样的......(注意:我以'#begmile','#endmile','#totmile'的形式传递三个文本框的ID,我想将“totmile”复选框的值设置为 endmile-bigmile)

function subtract(begmile, endmile, totmile){
y=$(begmile).attr('value');
z=$(endmile).attr('value');
y=z-y;
$(totmile).setAttr('value',???);

}

我不确定到目前为止我的语法是否正确,但假设它是正确的(y 正确设置为 endmile-begmile,我如何使用 setAttr 将 totmile 的值设置为 y 的值?

4

3 回答 3

4

这是正确的语法:

var href = 'http://cnn.com';

$(selector).attr('href', href);
于 2012-09-12T15:58:10.973 回答
1

你的最后一行没有调用正确的方法:

$(totmile).setAttr('value',???);

应该:

$(totmile).attr('value',???);

例如

$(totmile).attr('value', y);//set the value to the variable "y"

您也可以调用.val();来轻松获取字段的值,或.val(newValue);设置值。

另请注意,如果您的“y”和“z”值实际上并不代表数字,您将得到一个奇怪的结果。

于 2012-09-12T15:58:35.373 回答
0

value属性是指文本框的默认值,而不是当前值。当前的存储在value 属性中。

function subtract(begmile, endmile, totmile) {
    document.getElementById(totmile).value =
      document.getElementById(endmile).value - document.getElementById(begmile).value;
}

这也消除了对 jQuery 的需求,因为 JavaScript Sledgehammer 对于这项工作来说太过分了。为确保它正常工作,只需#在将 ID 传递给函数时删除。

于 2012-09-12T16:00:00.813 回答