-1

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.net/sW6QP/6/

1

3 Answers 3

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.com/Tags/att_input_placeholder.asp

Sign up to request clarification or add additional context in comments.

1 Comment

I will use a jquery library for placeholder to get it work...thanks
2

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

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.