Mám doplnok, ktorý vytváram pre wordpresspre backend. v jednej sekcii môže používateľ zadať text do textového poľa. Chcel by som aktualizovať zoznam v hornej časti obrazovky so všetkými kódmi, ktoré zadali pri každom zdvíhaní kľúča, ako aj ich hodnotami.
na tento účel som na účely testovania napísal tento kód:
$("#BBPlugin-Pages").on("keyup",".BBtextArea",function(e){
var match = wp.shortcode.next("code", _2upstring, 2);
if ( ! match ) {
return;
}
else console.log(match.content);
});
takže teraz, keď zadám [kód] slov [/ kód], budevrátiť, že keď však niečo napíšem, ak však do textového poľa, ktoré číta [kód] word2 [/ kód], pridám ďalší skrátený kód, nevráti sa, vráti sa iba prvý skrátený kód. existuje spôsob, ako sa vrátiť?
odpovede:
0 pre odpoveď č. 1Prosím pozri sa tu.
wp.shortcode.next (značka, text, index)
spiatočný Typ: Objekt Objekt kontajnera s niekoľkými užitočnými vlastnosťami:
index: Index, v ktorom sa vyskytla zhoda, takže môžete ľahko priradiť nasledujúci krátky kód pomocou priradeného indexu plus 1.
var index = 2; // yours initial value - don"t know why 2
$("#BBPlugin-Pages").on("keyup",".BBtextArea",function(e){
var match = wp.shortcode.next("code", _2upstring, index);
if ( ! match ) {
return;
}
else {
index = match.index + 1;
console.log(match.content);
}
})
Nedá sa to otestovať - ale ide o uloženie indexu aktuálnej zhody. A začať nové vyhľadávanie od nasledujúceho znaku.
PS: Ak by to niekto mohol vyskúšať - ak je niečo nesprávne, napíšte správnu vzorku kódu.
upd: prihlásiť ich všetky. (mali by fungovať, ale nemôžu testovať prostredie bez ohľadu na to, či by ste mali venovať pozornosť tejto myšlienke)
var index = 2; // yours initial value - don"t know why 2
var all = [];
$("#BBPlugin-Pages").on("keyup",".BBtextArea",function(e){
var match = wp.shortcode.next("code", _2upstring, index);
if ( ! match ) {
return;
} else {
index = match.index + 1;
all.push( match.content );
console.log(all); // as array
all.forEach(function(x){ console.log(x); }); // one at a time
}
})