Доступ к переменной вне скрипта
У меня есть следующий код, но я не могу получить доступ к myVariable из скрипта - я предполагаю, что это функция, а myVariable должна быть глобальной переменной. Как создать глобальную переменную?
(Примечание: это файл.cshtml в проекте ASP.NET MVC в Visual Studio)
<!DOCTYPE html>
<html>
<head>
</head>
<body>
@{var myVariable = "this is what I want to access and change later in the script";}
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
...
</div>
</div>
</div>
<script>
$('[name="optradio1"]').on('change', function () {
$('#accordion-second').slideToggle();
$('#accordion-first').slideToggle();
alert(myVariable);
})
</script>
</body>
</html>
2 ответа
Решение
Вы можете использовать данные-атрибуты:
<script id="myScript" data-myvar="@myVariable">
$('[name="optradio1"]').on('change', function () {
$('#accordion-second').slideToggle();
$('#accordion-first').slideToggle();
alert($('#myScript').data('myvar'));
});
</script>
Обычно ставят теги содержимого HTML, потому что обычно у вас уже есть некоторый уникальный идентификатор или класс, но вы можете сделать это и с тегами сценария.
Пожалуйста, измените как alert(myVariable);
вместо этого используйте приведенный ниже код.
var val = parseInt('@myVariable') + 5;
alert(val);
Попробуй это.