我有一个加载到模式中的表单,其中有一个隐藏的输入
<input type="hidden" name="transType" id="transType" value="">
有两个按钮可以打开表单
<a href="" id="Buy" class="trigger">Buy</a>
<a href="" id="Sell" class="trigger">Sell</a>
我想根据单击的按钮设置 input#transType 值,表单再次以模式加载并在单击按钮时打开
$(function(){
$('.trigger').click(function(e){
//modal stuff, good to go
var link = $(this).attr('href');
$.get(link, function(data){
modal.open({content: data});
//here is where I need to set the val
if ($(this).attr('id') == 'Buy')) {
$('#transType').val('Buy');
} else if ($(this).attr('id') == 'Sell')) {
$('#transType').val('Sell');
}
});
e.preventDefault();
});
});
我让它与 2 个独立的点击处理程序一起使用,每个按钮一个,并以这种方式设置值,但希望有一个更清晰的功能来覆盖这两个按钮。如何根据按钮的 ID(同一类)切换隐藏输入的值?
解决方案 感谢各位的帮助,已经成功了。必须更改函数的构造,我没有正确确定“this”的范围。这是最终的解决方案,以防有人遇到这个问题。
$(function(){
$('.trigger').click(function(e){
var link = $(this).attr('href');
if($(this).attr('id') == 'Buy') {
$.get(link, function(data){
modal.open({content: data});
$('#transType').val('buy');
});
}
if($(this).attr('id') == 'Sell') {
$.get(link, function(data){
modal.open({content: data});
$('#transType').val('sell');
});
}
e.preventDefault();
});
});
最佳答案
Here's a fiddle for you ,隐藏的输入字段(使其可见以显示)将始终具有 id 的值!
代码:
Jquery:
$('.trigger').click(function(e){
$('#transType').val($(this).attr('id'));
});
HTML:
<input type="text" name="transType" id="transType" value="">
<a href="#" id="Buy" class="trigger">Buy</a>
<a href="#" id="Sell" class="trigger">Sell</a>
<小时/>
旁注:
如果您想要检查/不同的值,您可能需要这样做(但我没有看到这样做的理由)
$('.trigger').click(function(e){
if($(this).attr('id') == 'Buy') {
$('#transType').val($(this).attr('id'));
}
else if($(this).attr('id') == 'Sell') {
$('#transType').val($(this).attr('id'));
}
else if ($(this).attr('id') == 'test') {
$('#transType').val($(this).attr('id'));
}
});
关于javascript - 根据单击的按钮以模态形式设置隐藏输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26877714/