使用Javascript / Jquery动态添加占位符

时间:2015-11-26 08:35:05

标签: javascript jquery

我需要一个帮助。我需要使用Javascript动态地将占位符添加到循环的输入字段中。让我解释下面的代码。

<input class="form-control oditek-td-blank1"   placeholder="e.g:9 AM-10AM" >

现在我的占位符值e.g:9 AM-10AM我需要在循环中添加它意味着首先它将是e.g:9 AM-10AM,它将是e.g:10 AM-11AM,依此类推,最多6次。这将创建6个输入字段,并且动态创建具有不同值的6个占位符。请帮助我。

2 个答案:

答案 0 :(得分:3)

尝试:attr()

 var j = 0;
 var k = 1;
 var type2 ="AM",type= 'AM';
  $('.oditek-td-blank1').each(function(i,v){
      j++; k++;
    if(j>12) {
     type= (type=="AM")?"PM":"AM";
     time = '1 '+type;
     j = 1;
    } else {
     time = j+' '+type;
    }
       if(k>12) {
     type2= (type2=="AM")?"PM":"AM";
     time2 = '1 '+type2;
     k = 1;
    } else {
     time2 = k+' '+type2;
    }
      $(v).attr('placeholder','e.g:'+time+' '+time2 );
});

https://jsfiddle.net/h6w5j6x8/1/

答案 1 :(得分:0)

你可以使用这样的东西,这可以让你控制元素的创建和开始时间:

&#13;
&#13;
function setInputPlaceholders(num, sTime, duration) {
  var arr = [],
    endTime,
    startTime = sTime;
  for (var i = 0; i < num; i++) {
    endTime = startTime + duration;
    var inp = document.createElement("input");
    inp.type = "text";
    var ampm = startTime <= 12 && endTime <= 12 ? " AM " : " PM "
    inp.setAttribute("placeholder", startTime + ampm + endTime + ampm);
    document.body.appendChild(inp);
    startTime = endTime;
  }
}

setInputPlaceholders(6, 9, 1);
&#13;
&#13;
&#13;