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>
누구든지 알아낼 수 있습니까?
답변
$(document).ready(function(){
$('form').find("input[type=textarea], input[type=password], textarea").each(function(ev)
{
if(!$(this).val()) {
$(this).attr("placeholder", "Type your answer here");
}
});
});
이 코드를 복사하여 js 파일에 붙여 넣으면 전체 사이트의 모든 자리 표시 자 텍스트가 변경됩니다.
답변
다음 코드를 사용하여 ID별로 자리 표시자를 업데이트 할 수 있습니다.
$("#serMemtb").attr("placeholder", "Type a Location").val("").focus().blur();
답변
간단하게 사용할 수 있습니다
$("#yourtextboxid").attr("placeholder", "variable");
여기서 변수가 문자열이면 위와 같이 사용할 수 있습니다. 변수 인 경우 큰 따옴표없이 “variable”과 같은 이름으로 바꾸십시오.
예 : $("#youtextboxid").attr("placeholder", variable);
작동합니다.
답변
플러그인은 매우 견고하지 않습니다. .placeholder()
다시 호출하면 Placeholder
이벤트가 이전 인스턴스에 계속 바인딩되어있는 동안 새 인스턴스 가 작성 됩니다.
코드를 보면 할 수있는 것처럼 보입니다.
$("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").blur();
편집하다
placeholder
입니다 HTML5 속성 , 그것을 지원하지 않는 누가 생각은?
귀하의 플러그인은 IE가 지원하지 않는다는 사실을 극복하는 데 실제로 도움이되지 않는 것 같습니다. 따라서 내 솔루션이 작동하는 동안 플러그인은 지원하지 않습니다. 왜 그런 것을 찾지 않습니까?
답변
$(this).val()
문자열입니다. parseInt($(this).val(), 10)
‘1’을 사용 하거나 확인하십시오. 10은 밑 10을 나타냅니다.
$(function () {
$('input[placeholder], textarea[placeholder]').blur();
$('#serMemdd').change(function () {
var k = $(this).val();
if (k == '1') {
$("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").blur();
}
else if (k == '2') {
$("#serMemtb").attr("placeholder", "Type an ID").blur();
}
else if (k == '3') {
$("#serMemtb").attr("placeholder", "Type a Location").blur();
}
});
});
또는
$(function () {
$('input[placeholder], textarea[placeholder]').placeholder();
$('#serMemdd').change(function () {
var k = parseInt($(this).val(), 10);
if (k == 1) {
$("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").blur();
}
else if (k == 2) {
$("#serMemtb").attr("placeholder", "Type an ID").blur();
}
else if (k == 3) {
$("#serMemtb").attr("placeholder", "Type a Location").blur();
}
});
});
다른 플러그인
ori는 사용중인 플러그인이 IE의 HTML 실패를 극복하지 못한다는 것에 주목했습니다.
다음과 같이 시도하십시오 :
http://archive.plugins.jquery.com/project/input-placeholder
답변
Javascript 및 Jquery를 사용하는 동적 자리 표시 자의 실제 예 http://jsfiddle.net/ogk2L14n/1/
<input type="text" id="textbox">
<select id="selection" onchange="changeplh()">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
function changeplh(){
debugger;
var sel = document.getElementById("selection");
var textbx = document.getElementById("textbox");
var indexe = sel.selectedIndex;
if(indexe == 0) {
$("#textbox").attr("placeholder", "age");
}
if(indexe == 1) {
$("#textbox").attr("placeholder", "name");
}
}
답변
jquery를 사용하여 자리 표시 자 텍스트 변경
이 시도
$('#selector').attr("placeholder", "Type placeholder");