jQuery添加字符串而不是串联
jQuery adding strings and not concatenating
我正在添加(或减法)选择列表中的值,但我似乎无法使其不连接字符串。
我的选择列表是:
<li class="extraHeight">
<asp:Image runat="server" CssClass="iconImageMove" ID="Image13" ImageUrl="~/images/icons/ABabyChg_Off.png" />
<div class="flipWidth">
<select name="access" class="change" id="ABabyChg_Off" runat="server">
<option value="16777216">Off</option>
<option value="16777216">On</option>
</select>
</div> <br /> <p class="noWrap">Accessible baby changing facilities</p>
</li>
<li class="extraHeight">
<asp:Image runat="server" CssClass="iconImageMove" ID="Image14" ImageUrl="~/images/icons/carpark_off.png" />
<div class="flipWidth">
<select name="access" class="change" id="carpark_off" runat="server">
<option value="256">Off</option>
<option value="256">On</option>
</select>
</div> <br /> <p class="noWrap">Accessible Car parking facilities</p>
</li>
我的javascript是:
<script>
$("select").change(function () {
var currentAccess = "0";
var currentText = $(":selected", this).text();
var value = $(this).val()
alert(currentAccess);
if(currentText == "Off")
{
currentAccess -= value;
}
if(value != "0") {
if(currentText == "On")
{
currentAccess += value;
}
}
$.cookie("accessReqs", currentAccess, { expires: 24 });
alert(currentAccess);
})
</script>
基本上,我试图让currentAccess
将当前值作为整数,并根据需要进行加减运算。
Tom
欢迎使用javascript!
alert(1+1); -> 2
alert("1"+"1"); -> 11
alert(Number("1")+Number("1")); -> 2
使用整数而不是字符串。
- 将
currentAccess
初始化为零 -=
运算符几乎没有留下歧义,但+=
运算符可以表示"连接字符串"或"添加数字"- 为了更明显,可以将变量转换为数字,例如使用
*1
(乘以1)
更新代码:
$("select").change(function () {
var currentAccess = 0; // Instead of "0"
var currentText = $(":selected", this).text();
var value = $(this).val() * 1;
alert(currentAccess);
if (currentText == "Off")
{
currentAccess -= value;
}
if (value != 0) {
if (currentText == "On") {
currentAccess += value;
}
}
$.cookie("accessReqs", currentAccess, {
expires: 24
});
alert(currentAccess);
});
尝试使用parseInt函数http://www.w3schools.com/jsref/jsref_parseint.asp
使用parseInt()
将字符串格式的值转换为整数,然后对其执行算术运算。
有关parseInt的更多信息http://www.javascripter.net/faq/convert2.htm#parseInt
相关文章:
- 在 JS 中添加字符串之前强制换行
- javascript在动态Url中匹配并添加字符串
- 添加字符串+选择要输入的文本
- 通过向动态id添加字符串,使用JavaScript控制文本框
- 在哪里添加字符串原型
- 在 JavaScript 中添加字符串 “1” + - “2” == “1-2”
- 如何在javascript中的数组中添加字符串
- 如何在javascript/jquery中添加字符串美元金额
- 引用变量,它执行函数,但是向变量中添加字符串,将函数作为字符串而不是值返回
- 如何在 javaScript 中添加 C# 字符串作为文本弹出窗口
- AngularsJS JavaScript 匹配单词并添加字符串
- 使用 javascript 在括号内添加字符串
- 使用javascript进行大写,每隔换行一次,并在每一新行的开头添加字符串
- jQuery添加字符串而不是串联
- 正在向提交的URL末尾添加字符串
- 可以't使用concat添加字符串数组
- 如何自动添加字符串“;http://'当用户通过jquery在文本框中输入时
- jquery问题——向动态调用的元素添加字符串
- MVC 5 DropDownList向Jquery的值添加字符串
- 如何在单击链接/过滤器的基础上向onclick函数添加字符串?