Javascript不会将这些组合在一起

时间:2012-03-26 18:09:29

标签: javascript ruby-on-rails formtastic jtextarea

我有这个js代码

elem=$(this);
var tester_names="";
tester_names=$("#release_tester_tokens").val();
alert(tester_names)
if (elem.attr('checked')==true)
  **tester_names=tester_names+", "+ elem.attr("title");**
  alert(elem.attr("title"))
  alert(tester_names)

我想要test_names = tester_names +“,”+ elem.attr(“title”);将testers_names(a,b,c,d,e)和elem.attr(“title”)(f)的组合变为(a,b,c,d,e,f) 我使用的警报用于调试以查看变量中存储的值。它们都存储正确,但是当我调用粗体函数时它们没有组合在一起......我只是想知道原因。我使用的是formtastic textarea而不是普通的文本框...我必须调整它吗?或者test_names和elem.attr输出的是不同类型的?

我尝试使用这种类型的代码(这与不同的变量名称几乎相同

function updateTextArea() {     
  var allVals = [];
  $('.taglist :checked').each(function(i) {

     allVals.push( $(this).val());
  });
  $('#video0_tags').val(allVals).attr('rows',allVals.length) ;

  }
  $(function() {
    $('.taglist input').click(updateTextArea);
    updateTextArea();
  });
});​

为什么每当我检查复选框时,当我在使用已加星标的函数之前和之后输出相同的结果时,这会完全添加到textarea的复选框值?

(我不明白为什么人们继续这样投票......在第一次事故和修复之后它似乎是一个不错的问题):S

1 个答案:

答案 0 :(得分:1)

在if语句中使用elem.attr('checked')=='checked'。没有任何情况elem.attr('checked')==true是真的。所以if的主体永远不会被执行。