javascript - Change placeholder text based on the dropdown selection? - Stack Overflow

I have a selectbox with couple of options to be selected by the user, when the user selects "First

I have a selectbox with couple of options to be selected by the user, when the user selects "First Name ", I want to the placeholder text 'Enter your First Name' to be appear beside the textbox. please find my piece of my code below:

HTML:

<select id="selectionType">
<option value="-1">Select One</option>
<option value="0">First Name</option>
<option value="1">Last Name</option>

JS:

    var placeholderText = {"First Name":"Enter your First Name","Last Name":"Enter your Last Name"};

$("#selectionType").on("change",function() {
    var selection = document.getElementById("selectionType");
    var inputBox = document.getElementById("inputBox");

    var selectedVal = $('#selectionType').find(':selected').text();
    if (placeholderText[selectedVal] !== undefined) {
        inputBox.placeholder = placeholderText[selectedVal];
    }
});

It works fine in Chrome and FF, but it fails in IE 8 & 9... Any help on this.

See Demo : /

I have a selectbox with couple of options to be selected by the user, when the user selects "First Name ", I want to the placeholder text 'Enter your First Name' to be appear beside the textbox. please find my piece of my code below:

HTML:

<select id="selectionType">
<option value="-1">Select One</option>
<option value="0">First Name</option>
<option value="1">Last Name</option>

JS:

    var placeholderText = {"First Name":"Enter your First Name","Last Name":"Enter your Last Name"};

$("#selectionType").on("change",function() {
    var selection = document.getElementById("selectionType");
    var inputBox = document.getElementById("inputBox");

    var selectedVal = $('#selectionType').find(':selected').text();
    if (placeholderText[selectedVal] !== undefined) {
        inputBox.placeholder = placeholderText[selectedVal];
    }
});

It works fine in Chrome and FF, but it fails in IE 8 & 9... Any help on this.

See Demo : http://jsfiddle/sW6QP/6/

Share Improve this question asked Aug 1, 2014 at 9:00 RamkumarRamkumar 4561 gold badge14 silver badges32 bronze badges 1
  • 2 IE 8,9 DO NOT support placeholders. Check this for a solution – Shaunak D Commented Aug 1, 2014 at 9:02
Add a ment  | 

3 Answers 3

Reset to default 2

Use jQuery Placeholder to support in IE 8 & 9.

because IE 8 and 9 don't support html5 placeholder and only support in IE 10.

Ref: http://www.w3schools./Tags/att_input_placeholder.asp

try

 var placeholderText = {
    "First Name": "Enter your First Name",
    "Last Name": "Enter your Last Name"
};

$("#selectionType").on("change", function () {

    if (this.value != -1) {
        $("#inputBox").val(placeholderText[$("#selectionType option:selected").text()]);
    } else {
        $("#inputBox").val("");
    }

});

UPDATED DEMO

Your brand new code:

var placeholderText = {"First Name":"Enter your First Name","Last Name":"Enter your Last Name"};
$("#selectionType").on("change",function() {
    var selection = $("#selectionType");
    var inputBox = $("#inputBox");

    var selectedVal = $(':selected', selection).text();
    if (placeholderText[selectedVal] !== undefined) {
        inputBox..attr('placeholder', placeholderText[selectedVal]);
    }
});

It should solve your problem

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745659750a4638761.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信