请问 jquery中这样可以在文本框多次添加内容?
如:<textarearows="10"cols="50"id="text"></textarea>多个按钮<inputtype="button"value="value...
如:
<textarea rows="10" cols="50" id="text"></textarea>
多个按钮
<input type="button" value="value1">
<input type="button" value="value2">
点击两个按钮时文本框中可以得到value1value2
就是点击不同的按钮是将自己的value属性值附加到文本框中去,
请问那个方法可以实现
我这样做只能去一个值
<script src="jquery-1.3.2.min.js"></script>
<script>
function work(value)
{
$(document).ready(function(){
$("#dd").val(value);
});
}
</script>
<textarea rows="10" cols="50" id="dd"></textarea>
<input type="button" value="show1" onclick="show(value);"> <input type="button" value="show2" onclick="show(value);">
点击第一个按钮时文本框中的值是show1,点击第二个按钮时文本框中的值是show2,不能达到上面的效果
请指教.
bonewu的答案可以解决我上面的问题,可是如果我的焦点在文本框的前面呢,我要在文本的不同位置都可以输入值 展开
<textarea rows="10" cols="50" id="text"></textarea>
多个按钮
<input type="button" value="value1">
<input type="button" value="value2">
点击两个按钮时文本框中可以得到value1value2
就是点击不同的按钮是将自己的value属性值附加到文本框中去,
请问那个方法可以实现
我这样做只能去一个值
<script src="jquery-1.3.2.min.js"></script>
<script>
function work(value)
{
$(document).ready(function(){
$("#dd").val(value);
});
}
</script>
<textarea rows="10" cols="50" id="dd"></textarea>
<input type="button" value="show1" onclick="show(value);"> <input type="button" value="show2" onclick="show(value);">
点击第一个按钮时文本框中的值是show1,点击第二个按钮时文本框中的值是show2,不能达到上面的效果
请指教.
bonewu的答案可以解决我上面的问题,可是如果我的焦点在文本框的前面呢,我要在文本的不同位置都可以输入值 展开
3个回答
展开全部
//这是获取文本光标位置的jquery插件
<script type="text/javascript">
$.fn.extend({
getposition:function( value ){
var elem = this[0];
if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
if($.browser.msie){
var rng;
if(elem.tagName == "TEXTAREA"){
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{
rng = document.selection.createRange();
}
if( value === undefined ){
rng.moveStart("character",-event.srcElement.value.length);
return rng.text.length;
}else if(typeof value === "number" ){
var index=this.position();
index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index))
rng.select();
}
}else{
if( value === undefined ){
return elem.selectionStart;
}else if(typeof value === "number" ){
elem.selectionEnd = value;
elem.selectionStart = value;
}
}
}else{
if( value === undefined )
return undefined;
}
}
})
</script>
// jquery代码
<script language="JavaScript" type="text/javascript">
$(function(){
$(".text").blur(function(){
$(this).attr('num',$(this).getposition()); //文本框失去焦点时给自定义属性num赋值,用来获取光标位置
})
$(".btn").click(function(){
var num = $(".text").attr("num");//获得光标位置
var text = $(".text").val();//文本值
if(num === undefined)//判断文本框是否以获取焦点,如果没有获取就插入到最后
num = text.length;
var text1 = text.substring(0,num);//获得光标前面的文本
var text2 = text.substring(num,text.length);//获得光标后面的文本
var newtext = text1 + $(this).val() + text2; //与按钮值拼成新的字符串
$(".text").val(newtext); //给文本框赋值
$(".text").focus();//文本框获取焦点
num = Number(num) + Number($(this).val().length);
$(".text").getposition(num);//重新设置光标位置
})
})
</script>
//html 代码
<body>
<input type="text" class="text" value="我是文本框原来的值"/>
<input name="" class="btn" value="btn1" type="button" />
<input name="" class="btn" value="btn2" type="button" />
</body>
可能还有不足,你完善一下吧
<script type="text/javascript">
$.fn.extend({
getposition:function( value ){
var elem = this[0];
if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
if($.browser.msie){
var rng;
if(elem.tagName == "TEXTAREA"){
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{
rng = document.selection.createRange();
}
if( value === undefined ){
rng.moveStart("character",-event.srcElement.value.length);
return rng.text.length;
}else if(typeof value === "number" ){
var index=this.position();
index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index))
rng.select();
}
}else{
if( value === undefined ){
return elem.selectionStart;
}else if(typeof value === "number" ){
elem.selectionEnd = value;
elem.selectionStart = value;
}
}
}else{
if( value === undefined )
return undefined;
}
}
})
</script>
// jquery代码
<script language="JavaScript" type="text/javascript">
$(function(){
$(".text").blur(function(){
$(this).attr('num',$(this).getposition()); //文本框失去焦点时给自定义属性num赋值,用来获取光标位置
})
$(".btn").click(function(){
var num = $(".text").attr("num");//获得光标位置
var text = $(".text").val();//文本值
if(num === undefined)//判断文本框是否以获取焦点,如果没有获取就插入到最后
num = text.length;
var text1 = text.substring(0,num);//获得光标前面的文本
var text2 = text.substring(num,text.length);//获得光标后面的文本
var newtext = text1 + $(this).val() + text2; //与按钮值拼成新的字符串
$(".text").val(newtext); //给文本框赋值
$(".text").focus();//文本框获取焦点
num = Number(num) + Number($(this).val().length);
$(".text").getposition(num);//重新设置光标位置
})
})
</script>
//html 代码
<body>
<input type="text" class="text" value="我是文本框原来的值"/>
<input name="" class="btn" value="btn1" type="button" />
<input name="" class="btn" value="btn2" type="button" />
</body>
可能还有不足,你完善一下吧
展开全部
$(function() {
$(':button').click(function() {
// 文本框的原始值
var s_val = $('#text').val();
// 当前按钮的值
var btn_val = $(this).val();
// 合并字符串
var v_val = s_val + btn_val;
// 赋值给文本框
$('#text').val(v_val);
});
});
$(':button').click(function() {
// 文本框的原始值
var s_val = $('#text').val();
// 当前按钮的值
var btn_val = $(this).val();
// 合并字符串
var v_val = s_val + btn_val;
// 赋值给文本框
$('#text').val(v_val);
});
});
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function show(value)
{
$("#dd").val(value);
}
<input type="button" value="show1" onclick="show(this.value);"> <input type="button" value="show2" onclick="show(this.value);">
{
$("#dd").val(value);
}
<input type="button" value="show1" onclick="show(this.value);"> <input type="button" value="show2" onclick="show(this.value);">
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询