繁体   English   中英

如何将变量传递给 HTML 中的 JavaScript 函数?

[英]How to pass variable to the JavaScript function within HTML?

如果我的代码是用 LLC 硬编码的,它就可以工作。 但是,我想传递变量,不知道如何修改代码以接受变量。 这与 Zendesk 指南定制有关。

对于这一行:

https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=LLC ',

我想用从 HTML 传递的变量值替换 LLC。

见下面的代码:

<div>
    {{#if article.labels}}
    {{#each article.labels}} 

    <p>Articles related to <b> {{identifier}} :</b></p>
        <ul class="related">
        <p id="Project"></p>
    </ul>

    {{/is}} 
    {{/each}}
    {{/if}}

    <script type="text/javascript">
        <!-- create elements for LLC articles -->

        function createNode(element) {
          return document.createElement(element);
        }

        function append(parent, el) {
         return parent.appendChild(el);
        }

        <!-- list LLC articles-->

        const ul = document.getElementById('Project');
        const url = 'https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=LLC';

        fetch(url)
            .then((resp) => resp.json())
            .then(function(data) {

        let family = data.results;

        return family.map(function(article) {
            let li = createNode('li'),
            span = createNode('span');
            span.innerHTML = "<a href ="+`${article.html_url}`+">"+`-    ${article.title}`+"</a>";
            append(li, span);
            append(ul, li);
            })
        })

            .catch(function(error) {   
                console.log(error);
            });
        }
    </script>

从上面的 HTML 中,LLC 的值是从{{identifier}}检索到的。 我需要将{{identifier}}的值传递给 JavaScript 代码以替换 LLC。 我怎么能做到这一点?

你有可用的LLC变量,那么它只是一个简单的字符串连接问题。

const LLC = "something";
const url = 'https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=' + LLC;

如果支持 ES6,您还可以使用模板字符串文字。

const LLC = "something";
    const url = `https://XYZ.zendesk.com/api/v2/help_center/articles/search.json?label_names=${LLC}`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM