Как добавить числовые значения, которые хранятся в строках?
Я пытаюсь добавить 1 в мою переменную JavaScript, но следующий код не дает ожидаемых результатов:
var val1 = document.getElementById('<%= rng1.ClientID %>');
var val2 = val1.value + "1";
alert(val2.value);
Как я могу это сделать?
Ответ 1
вы можете использовать функцию parseInt() для преобразования строки, хранящейся в val1.value, в число:
var val2 = parseInt(val1.value) + 1;
Обратите внимание, что Number(val1.value) также преобразует ваше значение в число.
-edit -
Как следует из предложения yc, настоятельно рекомендуется использовать parseInt(val1.value, 10) + 1;, потому что если ваша строка начинается с "0", строка интерпретируется как восьмеричная. например. parseInt("0123") == 83 и не 123
Ответ 2
Самый простой и предпочтительный способ - использовать + для перевода в число.
<сильные > Примеры:
+'234'; // 234
+'042'; // 42! It does not convert to octal
В вашем случае:
var val1 = +(document.getElementById('<%= rng1.ClientID %>').value); // () added just for the looks
var val2 = val1.value + 1; // if val1 is 5, val2 will be 6 hooray!
alert(val2); // just val2, since it a plain number not an html input element
Ответ 3
parseInt($('.scpContainer').height()+200)
Ответ 4
вы должны добавить номер, поэтому попробуйте его без кавычек: -)
Ответ 5
В внешнем файле JavaScript вы не можете использовать <%=ControlID.ClientID %> для получения идентификатора клиента.
Если вы используете внешний файл JavaScript, вам нужно передать значение идентификатора клиента этой функции.