Estoy agregando valores de listas de selección (o restando) y parece que no puedo hacer que no concatene la cadena.jQuery agregar cadenas y no concatenar
Mi lista de selección es:
<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>
Y mi Javascript es:
<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>
Básicamente estoy tratando de tener currentAccess
tener el valor actual como un entero y sumar y restar como es necesario.
Tom
Algunos consideran '* 1' (en lugar de Número/parseInt) mal estilo. – georg
@ thg435 ** [citación necesitada] **. 'Number' es una función, y mucho ** [más lento] (http://jsperf.com/number-vs-parseint-vs-plus/23) ** que un simple' * 1'. –
Gracias por esto. Cuando agrego el valor a la cookie, luego leo la cookie de nuevo, la concatena nuevamente y la pierdo como valor. He intentado analizar pero no parece hacer mucho – TMB87