根据单击的按钮以模式形式设置隐藏输入

Set hidden input in modal form based on what button was clicked

本文关键字:设置 隐藏 输入 模式 单击 按钮      更新时间:2023-09-26

我有一个窗体被转换为模态,其中有一个隐藏的输入

<input type="hidden" name="transType" id="transType" value="">

有两个按钮可以打开表单

<a href="" id="Buy" class="trigger">Buy</a>
<a href="" id="Sell" class="trigger">Sell</a>

我想根据点击的按钮设置输入#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();
  });
});

我有两个单独的点击处理程序,每个按钮一个,并以这种方式设置值,但我希望有一个更干净的函数来覆盖这两个按钮。如何根据按钮的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();
    });
});

这里有一个小提琴,隐藏的输入字段(使其显示可见)将始终具有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>

SIDENOTE:

如果你想有一个检查/不同的值,你可能想用这个(但我看不出有什么理由这样做)

 $('.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')); 
    }
});

如果我没有错,我希望你在找这个!!!更换>>

if ($(this).attr('id') == 'Buy')) {
$('#transType').val('Buy');
} else if ($(this).attr('id') == 'Sell')) {
$('#transType').val('Sell');
}

使用>>

$('#transType').val($(this).attr('id'));