Javascript填充输入,但不填充跨度


Javascript populates input, but not span?

我使用Select2下拉菜单从数据库中获取数据,并抛出ajax和json.php。然后,我所做的选项将填充一些用于编辑数据库的输入文件。

我使用(这个字段填充好了):

<input type="text" class="form-control" name="valt_element_id" id="valt_element_id" placeholder="Objekt ID" />

但在某些领域,我只想显示数据,而不是编辑。我想使用:

<span id="valt_element_id"></span>

但是这个span代码不起作用!为什么?

JS:

$(document).ready(function(){
var valtObjektElement = $('#valj_objekt_element');
$('#valj_objekt_element').select2({
    ajax: {
    url: "valj_objekt_element.php",
    dataType: 'json',
        data: function (term, page) {
            return {
            q: term
            };
        },
        results: function (data, page) {
        return { results: data };
        }
    } // Ajax Call
}); // Select2
// Start Change
$(valtObjektElement).change(function() {
    var ElementId = $(valtObjektElement).select2('data').id;
    var ObjektNummer = $(valtObjektElement).select2('data').text;
    $('#valt_element_id').val(ElementId);
    $('#valt_objekt_nummer').val(ObjektNummer);
}); //Change
}); //Domument Ready

span没有value属性。您应该使用texthtml

更换

$('#valt_element_id').val(ElementId);

带有

$('#valt_element_id').text(ElementId);

使用javascript:

document.getElementById("valt_element_id").innerHTML = ElementId;

或者jQuery:

$('#valt_element_id').html(ElementId);

您提到:

But on some field i just want to show the data, not to be edited。为什么不在input中使用readonly属性,而不是将其替换为span