textarea maxlength下拉菜单

时间:2015-09-21 11:48:42

标签: jquery textarea maxlength dropdown

我有一个包含3个值的下拉菜单,具体取决于您在菜单中选择的值,我想要更改textarea MaxLength。这是可能的还是可行的?

我已经看过jQuery val()和change()但没有让它工作。

/最好的问候

5 个答案:

答案 0 :(得分:1)

您可以使用 change() 进行收听更改活动,使用 attr() 设置maxlength属性

更新:使用 val() 更新内容长度是否大于maxlength同时更改下拉值

$('#len').change(function() {
  var len = this.value;
  $('#text').attr('maxlength', len).val(function(i, v) {
    return v.length > len? v.substring(0, len): v;
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id=len>
  <option value=10>10</option>
  <option value=20>20</option>
  <option value=30>30</option>
  <option value=40>40</option>
</select>

<textarea maxlength=10 id=text></textarea>

答案 1 :(得分:1)

您需要设置maxlength的{​​{1}}属性,以根据从下拉列表中选择的值更改其长度。

HTML代码:

textarea

JS CODE:

<textarea id="txtarea" maxlength="5"></textarea>
<select id="dropdown">
  <option value="5">Five</option>
  <option value="50">Fifty</option>
  <option value="100">Hundread</option>
</select>

Live Demo@ JSFiddle

答案 2 :(得分:1)

您可以使用类似

的内容
<input id="myInput" type="text" maxlength="2">
 <select>
  <option onclick='changeMaxLength(2)'>2</option>
  <option onclick='changeMaxLength(5)'>5</option>
  <option onclick='changeMaxLength(10)'>10</option>
</select>

和jQuery

function changeMaxLength(length) {
    jQuery("#myInput").attr('maxlength', length);
  }

答案 3 :(得分:0)

这很容易,当 override func mouseUp(theEvent: NSEvent){ let duration = 2.0 let endAngle = -90.0 let startAngle = shapeLayer.valueForKey("transform.rotation") //Set up animation let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation") rotateAnimation.removedOnCompletion = true rotateAnimation.autoreverses = false rotateAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) rotateAnimation.duration = duration rotateAnimation.fromValue = startAngle rotateAnimation.toValue = endAngle * 3.142/180 //Setup delegate rotateAnimation.delegate = self shapeLayer.addAnimation(rotateAnimation, forKey: @"rotationAnimation") } public override func animationDidStop(anim: CAAnimation, finished flag: Bool){ shapeLayer.transform = CATransform3DMakeRotation(CGFloat(-90.0 * 3.142/180), 0.0, 0.0, 1.0) } 发生变化时,您需要更改textarea的maxlength属性。

唯一的问题是,如果用户先点击“大”,然后再返回“小”。您需要将字符串剪切为较小的值。

<强> HTML

select

<强>的jQuery

<select id="text-size">
   <option value="10">small</option>
   <option value="20">medium</option>
   <option value="40">large</option>
</select>
<textarea id="textarea" maxlength="10"></textarea>

以下是演示http://codepen.io/anon/pen/EVyXGv

答案 4 :(得分:0)

这是一个没有jquery的java脚本解决方案 它找到您选择的选项,然后为文本区域设置一个值。

&#13;
&#13;
var e = document.getElementById("list");

e.addEventListener("change", function() {
  var select = e.options[e.selectedIndex].value;
  var k = document.getElementById("area");
  k.innerHTML = "" + select;
  if (select == "first") {
    k.setAttribute("maxLength", 30);
  } else if (select == "second") {
    k.setAttribute("maxlength", 10);
    k.text = select;

  }
});
&#13;
<select id="list">
  <option>first</option>
  <option>second</option>
  <option>third</option>
  <option>fourth</option>
</select>

<textarea id="area">
  test
</textarea>
&#13;
&#13;
&#13;

相关问题