【问题标题】:Fill Form by Clicking Text Link?通过单击文本链接填写表格?
【发布时间】:2011-07-25 23:38:10
【问题描述】:

我需要这样的代码。 这是一个示例,但不适用于 IE7

http://fiddle.jshell.net/Pc4uT

这些是我的链接:

  1. 链接 1
  2. 链接 2
  3. 链接 3
  4. 链接 4
  5. 链接 5

点击链接时必须用链接值填充输入字段。 像这样:1,2,3,4,5

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: jquery internet-explorer-7 onclick


    【解决方案1】:

    使用jQuery的.click(而不是attr("onclick", ...来兼容不同的浏览器并且不返回javascript字符串。您应该避免将任何看起来像脚本的内容放在字符串中。使用这个:

    $("a.mylink").each(function(i){
        $(this).click(function(){
             document.getElementById('row1').value += i + ',';
        }); 
    });
    

    【讨论】:

      【解决方案2】:

      http://fiddle.jshell.net/Pc4uT/37/ 在这里看到它的工作原理

      你需要使用click而不是attr

      $("a.mylink").click(function (arr) {
          if($('#row1').val()==''){
              $('#row1').val( $(this).attr('name'));
          }else{
            $('#row1').val( $('#row1').val()+','+$(this).attr('name'));
          }
      }); 
      

      您可以在链接中使用名称来保留链接编号

      <a class="mylink" name="1">First Link</a>     
          <a class="mylink" name="2">Second Link</a>
      

      【讨论】:

      • 值得一提的是,“==”需要替换为“===”。
      【解决方案3】:

      您可以将值存储在每个链接的数据属性中:

      <a href="#" data-val="1" class="link">Link 1</a>
      <a href="#" data-val="2" class="link">Link 2</a>
      etc.
      

      然后您可以检索该值并将其插入到输入中:

      $('.link').click(function(){
          $('#input_id').val($('#input_id').val()+', '+$(this).data('val'));
      });
      

      【讨论】:

      • $(this).val() 应该是 $('#input_id').val() 因为this 是点击链接,而不是输入。
      猜你喜欢
      • 2020-03-31
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2013-09-07
      • 2021-06-07
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多