我有以下腳本,其功能應該是從一個輸入中檢索前 5 個單詞并在第二個輸入中鍵入它們,但它沒有按預期作業。
$('#review_content').on('keyup change paste click input', function () {
var contentVal = $('#review_content').val();
var contentValSplit = $('#review_content').val().split(' ');
var headerValSplit = $('#review_header').val().split(' ');
if(headerValSplit.length < 6) {
if(contentValSplit.length > 6) {
var $five = contentValSplit[0] ' ' contentValSplit[1] ' ' contentValSplit[2] ' ' contentValSplit[3] ' ' contentValSplit[4];
$('#review_header').val($five "...");
} else {
$('#review_header').val(contentVal "...");
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input id="review_content">
<input id="review_header">
當我粘貼更長的文本(超過 5 個字)時,腳本只是在第二個輸入中粘貼相同的文本,但這不是它應該如何作業的。它應該只從整個文本中獲取前 5 個單詞,并只將它們粘貼到第二個輸入中。或者,如果文本小于5個字,則應將第一個輸入的字母同步輸入第二個,并在完成第五個字后停止。任何想法如何做到這一點?
uj5u.com熱心網友回復:
更新后的版本:
以下代碼應符合您的所有要求
- 只要標題不包含5個字
- 從內容中取出前5個詞
我認為您的 if 陳述句過于復雜,并且由于某種原因相互抵消。以下代碼僅適用于一個if陳述句以降低復雜性。可以進一步優化(見下文)。
我粘貼When I paste longer text (longer than 5 words) the script并進入When I paste longer text...了第二個輸入。
$('#review_content').on('keyup change paste click input', function () {
var headerValSplit = $('#review_header').val().split(' ');
if(headerValSplit.length < 6) {
var contentVal = $('#review_content').val();
var contentValSplit = $('#review_content').val().split(' ');
var $five = contentValSplit[0] ' ' contentValSplit[1] ' ' contentValSplit[2] ' ' contentValSplit[3] ' ' contentValSplit[4];
$('#review_header').val($five "...");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input id="review_content">
<input id="review_header">
除此之外,您還可以縮短此行:
var $five = contentValSplit[0] ' ' contentValSplit[1] ' ' contentValSplit[2] ' ' contentValSplit[3] ' ' contentValSplit[4];
下面只取前 5 個,然后將它們連接起來,中間有一個空格:
var $five = contentValSplit.slice(0, 5).join(' ');
此外,陣列可以簡單地減少到 5 個元素,以防您無論如何都不需要其他元素。然后它看起來像這樣:
contentValSplit.length = 5;
$('#review_header').val(contentValSplit.join(' ') "...");
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398005.html
標籤:javascript 查询
上一篇:以一致的格式獲取日期
