Faran Saleem Ответов: 1

Как получить доступ к значениям массива внутри ретранслятора с помощью javascript


У меня есть следующий ретранслятор

<script type="text/javascript">
        var markers = [];
        <asp:Repeater ID="rptMarkers" runat="server">
            <ItemTemplate>
                    markers.push({"Start": '<%# Eval("START") %>',"Fixed_Tax": '<%# Eval("FIXED_TAX") %>',"Rate": '<%# Eval("RATE") %>',"W_E_F": '<%# Eval("W_E_F") %>'});
            </ItemTemplate>
        </asp:Repeater>
    </script>


а окно консоли во время отладки выглядит примерно так

<script type="text/javascript">
        var markers = [];
        
                    markers.push({"Start": '7000001',"Fixed_Tax": '1422000',"Rate": '0.3',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '4000001',"Fixed_Tax": '597000',"Rate": '0.275',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '3500001',"Fixed_Tax": '472000',"Rate": '0.25',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '3000001',"Fixed_Tax": '359500',"Rate": '0.225',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '2500001',"Fixed_Tax": '259500',"Rate": '0.2',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '1800001',"Fixed_Tax": '137000',"Rate": '0.175',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '1500001',"Fixed_Tax": '92000',"Rate": '0.15',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '1400001',"Fixed_Tax": '79500',"Rate": '0.125',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '750000',"Fixed_Tax": '14500',"Rate": '0.1',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '500000',"Fixed_Tax": '2000',"Rate": '0.05',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '400001',"Fixed_Tax": '0',"Rate": '0.02',"W_E_F": '1/1/1970 12:00:00 AM'});
            
                    markers.push({"Start": '0',"Fixed_Tax": '0',"Rate": '0',"W_E_F": '1/1/1970 12:00:00 AM'});
            
    </script>


Пожалуйста, помогите мне, как я могу получить доступ к значениям с помощью javascript этого ретранслятора

Что я уже пробовал:

Искал и пробовал разные вещи но ничего не получалось

Karthik_Mahalingam

используйте объект "маркеры" для доступа к элементам.

Faran Saleem

Можете ли вы привести пример? как я должен получить доступ к значению 700001

1 Ответов

Рейтинг:
1

F-ES Sitecore

Переменная "маркеры" может быть использована из любого места, единственное предостережение заключается в том, что js обрабатывается по мере рендеринга страницы, так что вы можете использовать переменную после ее определения, но не раньше

<script type="text/javascript">
    alert (markers.length); // CAN'T use it here
</script>
<script type="text/javascript">
        var markers = [];
        <asp:Repeater ID="rptMarkers" runat="server">
            <ItemTemplate>
                    markers.push({"Start": '<%# Eval("START") %>',"Fixed_Tax": '<%# Eval("FIXED_TAX") %>',"Rate": '<%# Eval("RATE") %>',"W_E_F": '<%# Eval("W_E_F") %>'});
            </ItemTemplate>
        </asp:Repeater>
    </script>
<script type="text/javascript">
    alert (markers.length); // Can use it here
</script>


Вы можете переместить блок кода в верхнюю часть страницы, если это поможет.


Faran Saleem

Что я хочу знать, так это как я могу получить доступ к этим значениям.
Например, если я хочу получить доступ к 700001, то как я должен получить его в переменной javaScript.
Я делаю маркеры[0], но не работаю

F-ES Sitecore

маркеры[0].Начать

Faran Saleem

Спасибо, что это сработало, и не могли бы вы сказать мне, пожалуйста, как я могу рассчитать налог на основе валового дохода?
допустим, если введенный доход равен 50000, то он должен выбрать ближайшую стартовую строку с 50000, которая равна 75000, а затем вычислит доход по приведенной ниже формуле,
tax_income =(((res[0].GINCOME * 12) - start) * rate + v_tfx / 12);

Спасибо