如果为空,则设置默认值

时间:2013-03-27 21:12:15

标签: jquery

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

$("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似乎没有设置默认值。

3 个答案:

答案 0 :(得分:5)

这样做的简洁而非常标准的方法是使用||运算符。

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

答案 1 :(得分:1)

考虑使用输入元素的placeholder HTML属性。在HTML

中设置属性
<input type="text" id="txtName" placeholder="default text here" />

或在页面加载后使用jQuery

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

<input>元素

上的the MDN page

答案 2 :(得分:0)

将两个文本分配更改为以下变体:

$(".website-info h3 small").text(($(this).val().length) ? $(this).val() : "Your default value here");

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