我正在从选择列表中添加值(或减去),我似乎无法使它不连接字符串.
我的选择清单是:
<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>
Run Code Online (Sandbox Code Playgroud)
我的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>
Run Code Online (Sandbox Code Playgroud)
基本上我试图currentAccess将当前值作为整数并根据需要进行加减.
汤姆
欢迎使用javascript!
alert(1+1); -> 2
alert("1"+"1"); -> 11
alert(Number("1")+Number("1")); -> 2
Run Code Online (Sandbox Code Playgroud)
使用整数而不是字符串。
currentAccess为零。-=运算符几乎没有任何歧义,但该+=运算符可以表示“连接字符串”或“添加数字”。*1(times 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);
});
Run Code Online (Sandbox Code Playgroud)