簡體   English   中英

單擊按鈕時將數據獲取到模態,按鈕具有相同的 ID

[英]Get data to Modal on button click, with buttons that have the same ID

場景 - 我有一個頁面,上面有工作列表,每個單獨的工作列表都有一個名為 apply 的按鈕。 單擊它時會彈出一個模態,但是該模態沒有關於用戶想要申請哪個工作的上下文,所以我想以某種方式將職位發布的 ID 獲取到該模態。

問題 - 按鈕是按程序生成的並且具有相同的 ID。 因此,由於某種原因,使用 javascript 來捕獲onclick事件導致它只獲取第一個按鈕的data-id

{% for vacancy in vacancies %}
<div class="card">
    <div class="card-body">
        <h5 class="card-title">Job
                                Title - {{ vacancy.job_title }}
                            </h5>
        <strong><p>Description </p></strong>
        <p class="card-text">{{ vacancy.job_description }}</p>
    </div>
    <button id="openmodal" data-id="{{ vacancy.id }}" type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
        Apply
    </button>
</div>
{% endfor %}

<div class="modal-body">
    <form action="" class="customer-input" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        <div class="row">
            <div class="form-group col-lg-6">
                <label for="fullName">Full Name</label>
                <br>
                <input name="full-name" type="text" placeholder="Full Name" required="required">
            </div>
            <div class="form-group col-lg-6">
                <label for="email">Email</label>
                <br>
                <input type="email" name="email" placeholder="Email" required="required">
            </div>
        </div>
        <div class="row">
            <div class="col-lg-6">
                <div class="form-group">
                    <label>Job Role</label>
                    <br>
                    <select class="job-role" name="job-role">
                        <option value="python-developer">Python Developer</option>
                        <option value="fullstack-developer">Full Stack Developer</option>
                    </select>
                </div>
            </div>
            <div class="col-lg-6">
                <div class="form-group">
                    <label>Your Resume</label>
                    <br>
                    <input type="file" name="resume" accept=".pdf, .docx, .doc, .odt, .ott">
                </div>
            </div>
        </div>
        <div class="text-center">
            <button type="submit" class="login-res-btn">Apply!</button>
        </div>
    </form>
</div>

這不是正確的解決方案,必須有更好的解決方案,但我很絕望,我也會按程序生成模態。

{% for vacancy in vacancies %}
                        <div class="card">
                            <div class="card-body">
                                <h5 class="card-title">Job
                                    Title - {{ vacancy.job_title }}
                                </h5>
                                <strong><p>Description </p></strong>
                                <p class="card-text">{{ vacancy.job_description }}</p>
                            </div>
                            <button data-id="{{ vacancy.id }}" type="button" class="btn btn-primary" data-toggle="modal"
                                    data-target="#modal{{ vacancy.id }}">
                                Apply
                            </button>
                        </div>
                        <br>
                        <br>
                        <div class="modal text-center" id="modal{{ vacancy.id }}">
                            <div class="modal-dialog">
                                <div class="modal-content">

                                    <!-- Modal Header -->
                                    <div class="modal-header">
                                        <h4 class="modal-title">Apply for the desired role</h4>
                                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                                    </div>

                                    <!-- Modal body -->
                                    <div class="modal-body">
                                        <form action="" class="customer-input" method="post"
                                              enctype="multipart/form-data">
                                            {% csrf_token %}
                                            <div class="row">
                                                <div class="form-group col-lg-6">
                                                    <label for="fullName">Full Name</label><br>
                                                    <input name="full-name" type="text" placeholder="Full Name"
                                                           required="required">
                                                </div>
                                                <div class="form-group col-lg-6">
                                                    <label for="email">Email</label><br>
                                                    <input type="email" name="email" placeholder="Email"
                                                           required="required">
                                                </div>
                                            </div>
                                            <div class="row">
                                                <div class="col-lg-6">
                                                    <div class="form-group">
                                                        <label>Your Resume</label><br>
                                                        <input type="file" name="resume"
                                                               accept=".pdf, .docx, .doc, .odt, .ott">
                                                        <input type="text" value="{{ vacancy.id }}" name="job-title" readonly="readonly" hidden="hidden">
                                                    </div>
                                                </div>
                                                <div class="col-lg-6">
                                                    <div class="form-group">
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="text-center">
                                                <button type="submit" class="login-res-btn">Apply!</button>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </div>
                    {% endfor %}

我有<div>具有相同 class 和按鈕的盒子。 單擊按鈕時,應將文本框添加到相應的框中</div><div id="text_translate"><p><a href="https://i.stack.imgur.com/tP1dL.png" rel="nofollow noreferrer">在按下第二個“添加任務”按鈕時,應將一個文本框添加到第二個 div,類似於 3rd、4th</a>我如何引用特定的 div 元素? 無論按下哪個按鈕,我在下面所做的都會將文本框添加到第一個 div。</p><p> HTML</p><pre> &lt;body&gt; &lt;div id="project"&gt; LIST IT &lt;/div&gt; &lt;div id="board"&gt; Java Project &lt;/div&gt; &lt;template id="listTemp"&gt; &lt;form class="frm" &gt; &lt;input type="text" placeholder="Enter list name"&gt; &lt;/form&gt; &lt;button type="button" name="task" class="lst btn btn-secondary" onclick="addTask()"&gt;Add Task&lt;/button&gt; &lt;/template&gt; &lt;button type="button" name="list" class="btn btn-secondary" onclick="addList()"&gt;Add List&lt;/button&gt; &lt;/body&gt; &lt;script src="index.js" charset="utf-8"&gt;&lt;/script&gt;</pre><p> JAVASCRIPT</p><pre> function addTask(){ var input = document.createElement('input'); input.placeholder="Enter task here"; input.type="text"; var br = document.createElement('br'); var parent = document.getElementsByClassName('frm')[0]; // parent.insertBefore(input,document.getElementsByClassName('lst')[0]); parent.appendChild(input); } function addList(){ var div = document.createElement('div'); div.innerHTML = document.getElementById('listTemp').innerHTML; div.className = 'ListBox'; document.getElementsByTagName('body')[0].appendChild(div); }</pre></div>

[英]I have <div> boxes with same class with buttons. On button click a textbox should be added to the respective box

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 當按鈕單擊同一頁面時,在引導模式中獲取 id 如何在單擊時獲取模式按鈕上的行 ID 如何具有多個具有相同ID值的按鈕,並且單擊任何按鈕時都應該彈出窗口? 如何使用具有相同ID的多個按鈕打開相同模式? 如何在Bootstrap模式中單擊按鈕獲取數據 我在模態框內有一個表格,上面有一個按鈕,單擊該按鈕,它調用 function 將數據保存到 sessionStorage 單擊具有相同ID的每個按鈕 具有相同ID的按鈕的jQuery click事件 我有<div>具有相同 class 和按鈕的盒子。 單擊按鈕時,應將文本框添加到相應的框中</div><div id="text_translate"><p><a href="https://i.stack.imgur.com/tP1dL.png" rel="nofollow noreferrer">在按下第二個“添加任務”按鈕時,應將一個文本框添加到第二個 div,類似於 3rd、4th</a>我如何引用特定的 div 元素? 無論按下哪個按鈕,我在下面所做的都會將文本框添加到第一個 div。</p><p> HTML</p><pre> &lt;body&gt; &lt;div id="project"&gt; LIST IT &lt;/div&gt; &lt;div id="board"&gt; Java Project &lt;/div&gt; &lt;template id="listTemp"&gt; &lt;form class="frm" &gt; &lt;input type="text" placeholder="Enter list name"&gt; &lt;/form&gt; &lt;button type="button" name="task" class="lst btn btn-secondary" onclick="addTask()"&gt;Add Task&lt;/button&gt; &lt;/template&gt; &lt;button type="button" name="list" class="btn btn-secondary" onclick="addList()"&gt;Add List&lt;/button&gt; &lt;/body&gt; &lt;script src="index.js" charset="utf-8"&gt;&lt;/script&gt;</pre><p> JAVASCRIPT</p><pre> function addTask(){ var input = document.createElement('input'); input.placeholder="Enter task here"; input.type="text"; var br = document.createElement('br'); var parent = document.getElementsByClassName('frm')[0]; // parent.insertBefore(input,document.getElementsByClassName('lst')[0]); parent.appendChild(input); } function addList(){ var div = document.createElement('div'); div.innerHTML = document.getElementById('listTemp').innerHTML; div.className = 'ListBox'; document.getElementsByTagName('body')[0].appendChild(div); }</pre></div> 如何在單擊按鈕時獲取對象的ID和名稱,並在ASP.NET視圖中以模態顯示它們
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM