[英]Remove whitespace in dynamically generated input id using Handlebars.js
input type="checkbox" class="btn pointCheck"
id="GasMeteringVC-VolumeCorrector-Temperature t"
value="GasMeteringVC/VolumeCorrector/Temperature t">
<label for="GasMeteringVC-VolumeCorrector-Temperature t" class="pointBefore"></label>
有人可以幫我消除溫度和溫度之間的空格。
<input type="checkbox" class="btn pointCheck" id="{{../../name}}-{{../name}}-{{name}}"
value="{{../../name}}/{{../name}}/{{name}}"/>
<label for="{{../../name}}-{{../name}}-{{name}}" class="pointBefore">
上面是生成帶有菜單和復選框的菜單的車把代碼。 所有值均來自JSON對象。
如前所述,最好在模板外部進行此類清潔。 但是,如果您選擇走那條路線,則可以使用助手。
Handlebars.registerHelper('cleanConcat', function() {
var argument = null;
var data = null;
var cleanedString = '';
var cleanedStrings = [];
for ( var i = 0; i < arguments.length; ++i ) {
argument = arguments[ i ];
// Handlebars passes in extra arguments, so you can't just loop through
// arguments itself
if ( typeof argument === 'object' && argument.name === 'cleanConcat' ) {
data = argument.data.root;
for ( var prop in data ) {
// You can do any type of cleaning that you want here.
// As an example I forced each string to lower case and replaced spaces with a "-"
cleanedString = data[ prop ].toLowerCase().replace( /\s/g, '-' );
cleanedStrings.push( cleanedString );
}
return cleanedStrings.join( '-' );
}
}
});
<label for="{{cleanConcat ../../name ../name name}}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.