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

时间:2014-11-12 01:27:38

标签: javascript jquery forms

我有一个刻在模态中的表单,其中有一个隐藏的输入

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

我让它使用2个单独的点击处理程序,每个按钮一个并设置值,但是想要一个覆盖两个按钮的更干净的功能。如何根据按钮(同一类)的ID切换隐藏输入的值?

感谢帮助人员,让它工作。不得不改变功能的构造,我没有确定这个&#39;这个&#39;正确。这是最终的解决方案,以防任何人遇到这种情况。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我希望你在寻找这个如果我没错! 替换&GT;&GT;

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

使用&GT;&GT;

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