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

标签 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>

我想根据单击的按钮设置 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/

相关文章:

javascript - 在没有自动调整的情况下将我的图像 slider 定位在屏幕上

jquery - 输入字段中占位符文本的颜色

php - 提交表单后尝试创建一个 php 自动电子邮件,并使用 HTML 设置电子邮件样式

image - 输入类型=图像名称和值未被 ie 和 opera 发送

javascript - 光标在输入标签中不起作用

javascript - 使用 jquery .parseJSON 或 JSON.parse : how to remove quotes from function calls for formatters? 解析 JSON 以与 Highcharts 一起使用

javascript - AngularJS ng-repeat 不起作用?

javascript - 电子邮件正则表达式不验证句号之后的部分

javascript - 停止 .click() 监听器直到 fadeIn() 在 jQuery 中完成

javascript - 使用 jQuery 检索属性中的文本?