我有一个包含3个值的下拉菜单,具体取决于您在菜单中选择的值,我想要更改textarea MaxLength。这是可能的还是可行的?
我已经看过jQuery val()和change()但没有让它工作。
/最好的问候
答案 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>
答案 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>
答案 4 :(得分:0)
这是一个没有jquery的java脚本解决方案 它找到您选择的选项,然后为文本区域设置一个值。
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;