[英]Trying to get Uppercase lowercase jquery code to work
我有以下代码:
$(document).on('blur', '.upperlower', function() { var z = document.getElementById("text").value; var x = z.toLowerCase(); x = x.replace(/\\b./g, function(m) { return m.toUpperCase(); }); alert(x); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" class="form-control upperlower" placeholder="Last Name, First Name">
而且我不知道为什么jQuery不执行以更改input
大小写。
谁能给我一个弦?
您搜索id=text
的元素,但是没有那个。 这是更好地使用this
这是由jQuery的提供给您的回调函数:
$(document).on('blur','.upperlower',function(){ var z=this.value; var x=z.toLowerCase(); x=x.replace(/\\b./g, function(m){ return m.toUpperCase(); }); alert(x); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" class="form-control upperlower" placeholder="Last Name, First Name">
如果您希望在提交表单时也发生这种情况,则还应捕获该提交事件。 在下面的片段中,没有给出警报,但是替换是在输入值上完成的。 我已注释掉有关blur事件的操作,因此很明显,Submit按钮也执行该操作:
// create a named function, so both event handlers can use the same code: function upperLower(){ this.value = this.value.toLowerCase() .replace(/\\b./g, function(m){ return m.toUpperCase(); }); } // Uncomment this line if you want the action to happen on blur as well //$(document).on('blur','.upperlower', upperLower); $('form').on('submit', function() { $('.upperlower').each(upperLower); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <input type="text" class="form-control upperlower" placeholder="Last Name, First Name" value="john DOE"> <input type="submit" value="submit"> </form>
您总是可以this
用于jQuery中的回调函数。
PS-您的输入中没有id="text"
。
$(document).on('blur', '.upperlower', function() { var z = this.value; var x = z.toLowerCase(); x = x.replace(/\\b./g, function(m) { return m.toUpperCase(); }); console.log(x); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" class="form-control upperlower" placeholder="Last Name, First Name">
坚持jQuery :)
$(document).on('blur','.upperlower',function(){
var z=$("#text").val();
var x=z.toLowerCase();
x=x.replace(/\b./g, function(m){ return m.toUpperCase(); });
alert(x);
});
更改了var z=document.getElementById("text").value;
到var z=$("#text").value();
这应该做您需要的。 希望能帮助到你 :)
$(document).on('blur','.upperlower',function(){ var z= $(this).val(); var x= z.toLowerCase(); x=x.replace(/\\b./g, function(m){ return m.toUpperCase(); }); alert(x); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <input type="text" id = "myID" class="form-control upperlower" placeholder="Last Name, First Name">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.