Доступ к переменной вне скрипта

У меня есть следующий код, но я не могу получить доступ к 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);

Попробуй это.

Другие вопросы по тегам