简体   繁体   English

单击行中按钮时如何在 Javascript 中获取 ID

[英]how can I get ID in Javascript when in row button clicked

I get some information using handlebars from backend, and just want to konw how can I get the specific doctorID in javascript when in row button clicked.我使用 handlebars 从后端获取了一些信息,只是想知道如何在单击行按钮时获取 javascript 中的特定 doctorID。 Any suggestions would be greatly appreciated.任何建议将不胜感激。 Thank you.谢谢你。

html: html:

<div id="output-doctorinfo"></div>
<script type="text/x-handlebars-template" id="doctorinfo-template">
    {{#each this}}
        <div class="card col s12 m12" id="doctorinfo">
            <div class="card-content black-text">

                <input onclick="showAppinfo()" value="{{doctorID}}" class ="doctorid" id="doctor_{{doctorID}}">

                <div class="col s9 m9" id="doctortext">
                    <span class="card-title">{{firstName}} {{lastName}}</span>
                    <div class="col s12" id="hdn" name="hdn"></div>
                </div>

            </div>
            
            <div class="card-action col s12">
                <div class="row right-align ">
                    <a class="col s5 btn black-text" id="bookingbutton"  href="#modalbooking" onclick="showAppinfo()">Appointments</a>
                    <a class="col s5 btn black-text" id="ratingbutton" href="#modalratingcheck">Ratings</a>
                </div>
            </div>   
        </div>
    {{/each}}
</script>
</div> 

js: js:

function showAppinfo(){
    var x = document.querySelector(".doctorid").value;
    var url = 'api/api.php?action=showAppinfo&doctorid='+ x; 
   
    fetch(url, 
        {
            method: 'GET',
            credentials: 'include',
            headers: { 
        }
        },
    ) 
    .then(function(response) {
        if(response.status === 204) {
            console.log('204 no available appointments')
            return;
        }
        response.json().then(function(data){
                console.log(data);
                showappinfo.innerHTML = JSON.stringify(data);//按照json格式打印

                 
        })
    })
    .catch(function (err) {
    });
}

Try passing this.id as a parameter.尝试将this.id作为参数传递。

<input onclick="showAppinfo(this.id);" value="{{doctorID}}" class ="doctorid" id="doctor_{{doctorID}}">

Answered here as well: JavaScript - onClick to get the ID of the clicked button也在这里回答: JavaScript - onClick 以获取单击按钮的 ID

you need use this in javascript你需要在 javascript 中使用this

function showAppinfo(){
    var x = this.value;
    var url = 'api/api.php?action=showAppinfo&doctorid='+ x; 
   
    fetch(url, 
        {
            method: 'GET',
            credentials: 'include',
            headers: { 
        }
        },
    ) 
    .then(function(response) {
        if(response.status === 204) {
            console.log('204 no available appointments')
            return;
        }
        response.json().then(function(data){
                console.log(data);
                showappinfo.innerHTML = JSON.stringify(data);//按照json格式打印

                 
        })
    })
    .catch(function (err) {
    });
}

or like you can pass it by function或者你可以通过 function 传递它

<input onclick="showAppinfo({{doctorID}})" value="{{doctorID}}" class ="doctorid" id="doctor_{{doctorID}}">



function showAppinfo(id){
        var x = id;
        var url = 'api/api.php?action=showAppinfo&doctorid='+ x; 
       
        fetch(url, 
            {
                method: 'GET',
                credentials: 'include',
                headers: { 
            }
            },
        ) 
        .then(function(response) {
            if(response.status === 204) {
                console.log('204 no available appointments')
                return;
            }
            response.json().then(function(data){
                    console.log(data);
                    showappinfo.innerHTML = JSON.stringify(data);//按照json格式打印
    
                     
            })
        })
        .catch(function (err) {
        });
    }

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

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