使用 jQuery 和自定义属性将值传递给从锚点输入的隐藏表单
Passing a value to a hidden form input from an anchor using jQuery and custom attributes
我有一个单页网站,它有几个显示模态 window 和表单的锚标记。每个 link 都应该使用自定义属性(例如 item-name="item 1")向表单传递一个值。
表单应该从调用它的 link 中获取项目名称属性,并填写隐藏字段。
表单隐藏在页面的 div 中,然后显示为模态 window。
我该怎么做?我正在使用 jQuery,因为这是一个非常基本的页面。
你想为此使用数据属性并在点击时调用一个函数,a) 设置隐藏字段的值,b 提升你的模态。下面演示了在点击时将数据属性传递给函数,然后更新隐藏字段值。
此外 - 你不需要 jQuery 为此 - 直接 js 就足够了。
您也可以添加自己的逻辑来提升模态。
const links = document.querySelectorAll('.trigger-modal-link');
links.forEach(function(link){
link.addEventListener("click", (e) => triggerModal(e.target))
})
function triggerModal(el) {
const id = el.getAttribute('data-id');
const field = document.querySelector('#hidden-field');
field.value = id;
// logic to raise the modal
// console the input - just to show the hidden field is updating its value on the click
console.log(field); // shows eg: <input type="hidden" id="hiddenfield" value="1"></input>
}
a { color: blue;}
a + a { margin-left: 32px}
<a data-id="1" class="trigger-modal-link">option 1</a>
<a data-id="2" class="trigger-modal-link">option 2</a>
<input type="hidden" id="hidden-field"/>
如果您确实想使用 jQuery - 它看起来像这样
$(document).ready(function(){
$('.trigger-modal-link').click(function() {
const id = $(this).attr('data-id');
const field = $('#hidden-field');
field.val(id);
console.log(field[0]);
})
}); // gives eg : <input type="hidden" id="hidden-field" value="1"></input>
a { color: blue;}
a + a { margin-left: 32px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a data-id="1" class="trigger-modal-link">option 1</a>
<a data-id="2" class="trigger-modal-link">option 2</a>
<input type="hidden" id="hidden-field"/>
我有一个单页网站,它有几个显示模态 window 和表单的锚标记。每个 link 都应该使用自定义属性(例如 item-name="item 1")向表单传递一个值。
表单应该从调用它的 link 中获取项目名称属性,并填写隐藏字段。
表单隐藏在页面的 div 中,然后显示为模态 window。
我该怎么做?我正在使用 jQuery,因为这是一个非常基本的页面。
你想为此使用数据属性并在点击时调用一个函数,a) 设置隐藏字段的值,b 提升你的模态。下面演示了在点击时将数据属性传递给函数,然后更新隐藏字段值。
此外 - 你不需要 jQuery 为此 - 直接 js 就足够了。
您也可以添加自己的逻辑来提升模态。
const links = document.querySelectorAll('.trigger-modal-link');
links.forEach(function(link){
link.addEventListener("click", (e) => triggerModal(e.target))
})
function triggerModal(el) {
const id = el.getAttribute('data-id');
const field = document.querySelector('#hidden-field');
field.value = id;
// logic to raise the modal
// console the input - just to show the hidden field is updating its value on the click
console.log(field); // shows eg: <input type="hidden" id="hiddenfield" value="1"></input>
}
a { color: blue;}
a + a { margin-left: 32px}
<a data-id="1" class="trigger-modal-link">option 1</a>
<a data-id="2" class="trigger-modal-link">option 2</a>
<input type="hidden" id="hidden-field"/>
如果您确实想使用 jQuery - 它看起来像这样
$(document).ready(function(){
$('.trigger-modal-link').click(function() {
const id = $(this).attr('data-id');
const field = $('#hidden-field');
field.val(id);
console.log(field[0]);
})
}); // gives eg : <input type="hidden" id="hidden-field" value="1"></input>
a { color: blue;}
a + a { margin-left: 32px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a data-id="1" class="trigger-modal-link">option 1</a>
<a data-id="2" class="trigger-modal-link">option 2</a>
<input type="hidden" id="hidden-field"/>