只读文本的HTML标签

时间:2012-01-04 07:52:55

标签: javascript html jquery-ui

使用Label for text时,我应该使用哪个html元素?

我需要将元素的文本设置为从jqueryui自动完成控件中选择的客户端名称。

我尝试过使用一个span,它可以在Chrome中运行,但不能在IE中运行。有推荐的方法吗?

HTML:

<p>
     <label for="ClientLabel">Client:</label>
     <span id="ClientLabel" style="width: 160px; font-weight: bold;" />
</p>

autocomplete javascript:

$('#ClientSearchAutocomplete').autocomplete(
            {
                source: "/Report/ClientAutocompleteJSON",
                select: function (event, ui) {                    
                    $('#ClientLabel').text(ui.item.value);
                    $('#ClientLabel').val(ui.item.id);                        
                }
            });

2 个答案:

答案 0 :(得分:3)

带有文本类型的输入具有文本值和readonly属性。它看起来像一个输入框,您可能想要设置样式,以免混淆用户。

<input type="text" name="ClientName" value="YourValue" readonly="readonly" />

答案 1 :(得分:2)

.val()方法用于获取表单元素的值,例如input,select和textarea。你试图在一个显然不起作用的跨度上使用val()。

将其替换为只读输入或将ID存储在另一个隐藏的输入元素中。