jQuery « JQuery присвоить значение value для INPUT, из DIV другого файла.
Есть файл param.html в нем есть див , из которого нужно получить значение и вписать в INPUT. Как это значение добавить в INPUT value?/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.html4strict.geshi_code {font-family:monospace;}
.html4strict.geshi_code .imp {font-weight: bold; color: red;}
.html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;}
.html4strict.geshi_code .kw3 {color: #000066;}
.html4strict.geshi_code .es0 {color: #000099; font-weight: bold;}
.html4strict.geshi_code .br0 {color: #66cc66;}
.html4strict.geshi_code .sy0 {color: #66cc66;}
.html4strict.geshi_code .st0 {color: #ff0000;}
.html4strict.geshi_code .nu0 {color: #cc66cc;}
.html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;}
.html4strict.geshi_code .sc0 {color: #00bbdd;}
.html4strict.geshi_code .sc1 {color: #ddbb00;}
.html4strict.geshi_code .sc2 {color: #009900;}
.html4strict.geshi_code span.xtra { display:block; }
<DIV id='my'>123456</DIV>
Вот так не получается:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }
$("INPUT").load("param.html #my");
и так не получается:/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.java.geshi_code {font-family:monospace;}
.java.geshi_code .imp {font-weight: bold; color: red;}
.java.geshi_code .kw1 {color: #000000; font-weight: bold;}
.java.geshi_code .kw2 {color: #000066; font-weight: bold;}
.java.geshi_code .kw3 {color: #003399;}
.java.geshi_code .kw4 {color: #000066; font-weight: bold;}
.java.geshi_code .co1 {color: #666666; font-style: italic;}
.java.geshi_code .co2 {color: #006699;}
.java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;}
.java.geshi_code .coMULTI {color: #666666; font-style: italic;}
.java.geshi_code .es0 {color: #000099; font-weight: bold;}
.java.geshi_code .br0 {color: #009900;}
.java.geshi_code .sy0 {color: #339933;}
.java.geshi_code .st0 {color: #0000ff;}
.java.geshi_code .nu0 {color: #cc66cc;}
.java.geshi_code .me1 {color: #006633;}
.java.geshi_code .me2 {color: #006633;}
.java.geshi_code span.xtra { display:block; }
$("INPUT").val("param.html #my");
Однако же если добавляю, например в TD, то все работает
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }
$("TD").load("param.html #my");
В общем как занести значение в INPUT value?
<DIV id='my'>123456</DIV>
Вот так не получается:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }
$("INPUT").load("param.html #my");
$("INPUT").val("param.html #my");
Однако же если добавляю, например в TD, то все работает
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }
$("TD").load("param.html #my");
В общем как занести значение в INPUT value?
1 ответов
$.load сделает запрос к серверу и полученный результат попробует назначить как innerHTML указанному элементу - для div или td или любой другой похожий будет работать, для инпутов нет - так как у них нет innerHTML то есть не во что загружать полученый HTML. Поэтому и работает для TD.
$("INPUT").val("param.html #my"); - просто назначит инпуту текстовое значение "param.html #my" а запрос к серверу делать не будет.
С помощью $.get такое сделать не получится, так как только $.load позволяет указать фрагмент для загрузки(param.html #my)
На первой странице нужно сделать дополнительный div, пусть будет невидимый и в него загружать данные а потом с него уже в input(костыль но работать будет)
HTML код
<div id="hiddenDiv" style="display:none"></div>
<input type="text" id="myText">
javascipt код
$("#hiddenDiv").load("param.html #my", function(){//загружаем html в div
$('#myText').val($(this).html());//передаем из div в input
//или $('input').val($(this).html()); //если нужно всем инпутам назначить этот текст
});
Код не тестировал, но идея понятна я думаю.