对于my project我一直在努力。我有一段Javascript代码,它将文本插入到输入元素中,并且双击了它的标签。
$(document).ready(function() {
$('#name-label').dblclick(function(){
$("#name").val('[b][color="#FF0000"]Please Submit![/color][/b]');
});
});
但我希望这段代码能够处理多个字段,而无需一遍又一遍地复制和粘贴代码。我希望插入的文本保持不变。
以下是我想使用的标签和输入ID:
标签/输入
name-label / name
image-label / image
quest-label / quest
price-label / price
ge-label / ge
halch-label / halch
lalch-label / lalch
details-label / details
examine-label / examine
location-label / location
stats-label / stats
keywords-label / keywords
答案 0 :(得分:7)
$(document).ready(function() {
$('label[id$="label"]').dblclick(function(){
$('#' + this.id.split('-')[0]).val('[b][color="#FF0000"]Please Submit![/color][/b]');
});
});
1 - 绑定ID为ending with'label'的所有元素。
2 - 由于您对ID属性遵循相同的约定,因此通过从单击的ID中提取第一个单词来找到正确的元素,并在前面添加“#”以形成ID选择器。
答案 1 :(得分:0)
创建element-id / object组合的映射,并将函数ptr附加到它。
答案 2 :(得分:0)
此代码采用点击的标签,并使用for
属性查找要填充的相应<input>
字段。
$(document).ready(function () {
$("label").dblclick(function () {
$("#" + $(this).attr("for")).val('[b][color="#FF0000"]Please Submit![/color][/b]');
});
});
答案 3 :(得分:0)
类似的东西:
function insertSubmitString(label_id, id) { $('#' + label_id).dblclick(function(){ $('#' + id).val('[b][color="#FF0000"]Please Submit![/color][/b]'); }); }; function insertAllSubmitStrings() { insertSubmitString('name-label', 'name'); insertSubmitString('image-label', 'image'); insertSubmitString('quest-label', 'quest'); // and so on }; $(document).ready(insertAllSubmitStrings());
答案 4 :(得分:0)
$(document).ready(function() {
$('label').dblclick(function(){
var inp = $(this).attr('id').split('-');
$("#"+inp[0]).val('[b][color="#FF0000"]Please Submit![/color][/b]');
});
});