Добавление hrefs для автоматического создания таблиц данных из firestore - PullRequest
2 голосов
/ 09 марта 2020

Я хочу назначить разные hrefs различным tds в таблице, которая автоматически генерирует указанные tds из данных, извлеченных из firestore.

Это мое предложение. js, я могу без проблем получить данные из firestore но я не имею никакого представления о том, как назначить другой href для td "titulo", я пытался использовать якоря, но это приводит к созданию одного и того же URL в каждом последующем td, что я могу сделать, чтобы обойти эту проблему ?, заранее спасибо!

const ofertaList = document.querySelector('#ofertaLista');


const setupOferta = (data) => {

    let html = '';

    data.forEach(doc => {
      const oferta = doc.data();

      const td =`
        <tr>
          <td><a href="google.com">${oferta.titulo}</a></td>
          <td>${oferta.tipo}</td>
          <td>${oferta.fecha}</td>
          <td>${oferta.areaConocimiento}</td>
          <td>${oferta.cupoLimitado}</td>
        </tr>

      `;
      html += td

    });

    ofertaList.innerHTML = html;
}


db.collection('oferta').get().then((snapshot) =>{

 setupOferta(snapshot.docs)


});


РЕДАКТИРОВАТЬ

Это мое предложение. html

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Oferta</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
        <link href="https://fonts.googleapis.com/css?family=Questrial&display=swap" rel="stylesheet">
    <!-- Bulma Version 0.8.x-->
    <link rel="stylesheet" href="https://unpkg.com/bulma@0.8.0/css/bulma.min.css" />
    <link rel="stylesheet" type="text/css" href="css/login.css">


</head>

<body>

    <section class="hero is-info is-bold is-fullhd">
        <div class="hero-body">
            <nav class="navbar is-info">
                <a class="navbar-item" href="https://balsamiq.cloud/sb17nzh/p8yk3ts/r2278">
                    <img src="https://bulma.io/images/bulma-logo.png" width="112" height="28">
                </a>
                <div class="container">
                    <div class="navbar-brand">
                        <h1 class="title">
                            CAEDI
                        </h1>  
                    </div>
                </div>
            </nav>
        </div>
    </section>

   <div id="main">
         <section class="hero is-light">
            <div class="hero-body">
                <div class="container">
                    <h1 class="title">
                        Oferta
                    </h1>
                </div>
            </div>
        </section>

 <div class="container">
      <input class="input" type="text" name="" id="textBoxSearch" placeholder="Buscar" />
      <br /><br />

    </div>

        <section class="section">
            <div class="container">
                <div class="columns">
                    <div class="column is-12">
                        <div>
                        <table id="fullfeatures" class="table is-striped is-bordered" cellspacing="0" width="100%">
                            <thead>
                                <tr id="tr" >
                                    <th>Título</th>
                                    <th>Tipo</th>
                                    <th>Fecha</th>
                                    <th>Área de conocimiento</th>
                                    <th>Cupo limitado</th>
                                </tr>
                            </thead>
                            <tbody id="ofertaLista"></tbody>

                        </table>
                        </div>
                    </div>
                </div> 
            </div>
        </section>






    <footer class="footer has-background-info is-mobile is-fullhd">
        <div class="container">
            <div class="columns is-mobil">
                <div class="column is-half-fullhd">
                    <h1 class="title has-text-left">
                        Contacto
                    </h1>
                    <h2 class="subtitle has-text-left">
                        Direccion, correo electronico, telefono
                    </h2>
                </div>
            <div class="column is-half-fullhd">
                    <h2 class="subtitle has-text-right">
                        Powered by (c) CAEDI
                    </h2>
            </div>
        </div>
    </footer>

<script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-firestore.js"></script>



<script>

  var firebaseConfig = {
    apiKey: "AIzaSyA0Rl0WAmrpfxPZsWwc_P-AiHg44K8e05c",
    authDomain: "caedi-fd241.firebaseapp.com",
    databaseURL: "https://caedi-fd241.firebaseio.com",
    projectId: "caedi-fd241",

  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);




  const aut = firebase.auth();
  const db = firebase.firestore();


</script>

    <script async type="text/javascript" src="js/bulma.js"></script>
    <script src="https://unpkg.com/bulma-modal-fx/dist/js/modal-fx.min.js"></script> 
    <script async type="text/javascript" src="js/oferta.js"></script>








</body>

</html>

enter image description here

Это окончательный результат, я хочу назначить разные hrefs для каждого "Titulo", но, делая это

<td><a href="google.com">${oferta.titulo}</a></td>

Это происходит

enter image description here

Я хочу поставить href = "Historia. html" в "Historia del arte" и href = "matematicas. html" в "Matematicas 1", это так? возможно? извините, если я не выражаю себя с ясностью

Ответы [ 3 ]

0 голосов
/ 09 марта 2020
<td><a href="${oferta.href}">${oferta.titulo}</a></td>
0 голосов
/ 09 марта 2020

вы можете сделать это

<td><a href="${oferta.href}">${oferta.titulo}</a></td>

или

<td><a href="http://your-domain.com/${oferta.data_id_or_any_other_field}">${oferta.titulo}</a></td>
0 голосов
/ 09 марта 2020

Просто установите href элемента в качестве переменной для URL:

      <td><a href="${thisIsSomeUrl}">${oferta.titulo}</a></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...