如果为空,则设置默认值。

6

我正在根据输入更改元素的文本:

$("input#txtName").keyup(function(){
      $(".website-info h3 strong").text($(this).val());
    });
$("input#txtUrl").keyup(function(){
      $(".website-info h3 small").text($(this).val());
    });

它能工作,但是我希望在文本为空或用户未输入任何内容时显示默认值以防止空格。我尝试了if... is.(:empty)条件,但是它没有帮助,因为.text似乎不能设置默认值。


$(this).val().length - Blazemonger
3个回答

7
一种简洁而标准的方法是使用 || 运算符。
$("input#txtName").keyup(function(){
      $(".website-info h3 strong").text($(this).val() || "Default text");
    });

1
考虑使用输入元素的HTML属性placeholder。在你的HTML中设置这个属性。
<input type="text" id="txtName" placeholder="default text here" />

或者在页面加载后使用jQuery

$("input#txtName").attr("placeholder", "default text here");

这里是关于<input>元素的MDN页面


0

将您的文本赋值更改为以下变体之一:

$(".website-info h3 small").text(($(this).val().length) ? $(this).val() : "在此输入默认值");

请注意,如果用户输入空格,这不会抛出默认值 - 如果您想要这样做,您需要相应地编辑三元运算符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接