使用jQuery更改占位符文本

255

我正在使用jQuery的占位符插件(https://github.com/danielstocks/jQuery-Placeholder)。我需要随着下拉菜单的更改来更改占位符文本。但它没有改变。以下是代码:

$(function () {
    $('input[placeholder], textarea[placeholder]').placeholder();
    $('#serMemdd').change(function () {
        var k = $(this).val();
        if (k == 1) {
            $("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").placeholder();
        }
        else if (k == 2) {
            $("#serMemtb").attr("placeholder", "Type an ID").placeholder();
        }
        else if (k == 3) {
            $("#serMemtb").attr("placeholder", "Type a Location").placeholder();
        }
    });
});

我的HTML代码:

<div class="filterbox">
        <select name="ddselect" id="serMemdd">
            <option value="1" selected="selected">Search by Name</option>
            <option value="2">Search by ID</option>
            <option value="3">Search by Location</option>
        </select>
        <input id="serMemtb" type="text" style="width: 490px" placeholder="Type a name    (Lastname, Firstname)" />
        <input id="seMemBut" type="button" value="Search" />
    </div>

有谁能够理解这个问题吗?


你能提供你的HTML吗? - Timothy Aaron
@TimothyAaron 我已经提供了HTML。 - Krishh
@Blankasaurus-BS没有内置此功能。占位符属性在现代浏览器中可以自然工作,但IE没有填充程序:https://github.com/twitter/bootstrap/issues/2401 - Jannie Theunissen
13个回答

2

试试这个

$('#Selector_ID').attr("placeholder", "your Placeholder");

1
将你的第一行代码移到底部就可以了:http://jsfiddle.net/tcloninger/SEmNX/
$(function () {
    $('#serMemdd').change(function () {
        var k = $(this).val();
        if (k == 1) {
            $("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").placeholder();
        }
        else if (k == 2) {
            $("#serMemtb").attr("placeholder", "Type an ID").placeholder();
        }
        else if (k == 3) {
            $("#serMemtb").attr("placeholder", "Type a Location").placeholder();
        }
    });
    $('input[placeholder], textarea[placeholder]').placeholder();
});

...嗯,无论如何,占位符属性在我的Chrome中正在更改。当我在IE中检查它时,属性被更改了,但实际上并没有显示出来。你确定那是一个可靠的插件吗? - Timothy Aaron

0

这个对我有用:

jQuery('form').attr("placeholder","Wert eingeben");

但现在这个不起作用:

// Prioritize "important" elements on medium.
            skel.on('+medium -medium', function() {
                jQuery.prioritize(
                    '.important\\28 medium\\29',
                    skel.breakpoint('medium').active
                );
            });

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