2013-06-13 38 views
0

我有一个jquery脚本,可以复制选定的文本在所需的字段中单击相应的按钮...现在我需要限制这些输入id不同数量的字符...第一个输入应该有最多5个字符,秒2和第三最大3 ....我试图限制它与maxlength =“数字”它工作在手动输入或复制和粘贴旧的时尚方式,但忽略按钮点击复制...我想这是需要解决智慧getSelection();功能?或者是其他东西?getSelection中的jquery字符限制();?

这是当前的jsfiddle:http://jsfiddle.net/dzorz/ZhN3M/

尽量选择文本的一部分,然后点击一个按钮,以测试功能

HTML:

<p id="highlighted_text">Aliquam eget ipsum accumsan, convallis nulla sit amet, auctor est. 
Nam quis condimentum eros, vel condimentum lacus. In id enim at sem gravida sodales 
eu vitae risus. Morbi sed mi sit amet lectus rhoncus gravida a sit amet nisl. Phasellus 
quis ultricies leo. Duis vel lobortis mauris. Suspendisse sed diam eu turpis facilisis 
rutrum vitae vitae dolor.</p> 
<form id="myform" class="form-horizontal"> 
</fieldset> 
<div class="control-group"> 
    <input type="text" class="input-small" id="input1"> <a href="#" id="copy1" class="btn btn-primary">Copy to 1</a> 

</div> 
<div class="control-group"> 
    <input type="text" class="input-small" id="input2"> <a href="#" id="copy2" class="btn btn-primary">Copy to 2</a> 

</div> 
<div class="control-group"> 
    <input type="text" class="input-small" id="input3"> <a href="#" id="copy3" class="btn btn-primary">Copy to 3</a> 

</div> 
</fieldset> 
</form> 

脚本:

function getSelectedText() { 
if (window.getSelection) { 
    return window.getSelection(); 
} else if (document.selection) { 
    return document.selection.createRange().text; 
} 
return ''; 
} 

$(document).ready(function() { 
$('#copy1').click(function() { 
    $('#input1').val(getSelectedText()); 
}); 
$('#copy2').click(function() { 
    $('#input2').val(getSelectedText()); 
}); 
$('#copy3').click(function() { 
    $('#input3').val(getSelectedText()); 
}); 
}); 

回答

2

不知道如果我得到你在说什么,但假设这是你想

干什么用选定的toString方法来选定的字符转换为字符串..和使用substring获得第n个字符

$(document).ready(function() { 

    $('#copy1').click(function() { 
     var selectedText = getSelectedText().toString(); 
     $('#input1').val(selectedText.substring(0, 5)); 
    }); 
    $('#copy2').click(function() { 
     var selectedText = getSelectedText().toString(); 
     $('#input2').val(selectedText.substring(0, 2)); 
    }); 
    $('#copy3').click(function() { 
     var selectedText = getSelectedText().toString(); 
     $('#input3').val(selectedText.substring(0, 3)); 
    }); 
}); 

fiddle here

+0

啊thath的IT谢谢! – dzordz

+0

欢迎....很高兴它帮助...快乐编码.. :) – bipen