2013-06-13 37 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