Обновить родителя с помощью значения ввода текста
Итак, у меня есть диалог с входами. При закрытии диалога есть функция для обновления родительского UL. Родительский LI в этом UL должен иметь значение ввода текста. Это не работает. Пожалуйста помоги. Я поместил предупреждение в моём обновлении, чтобы увидеть, есть ли в нем значение. Неудачно. http://jsfiddle.net/C9EbG/
JQuery
$("input.save").click(function () {
$('#numbers tbody tr').each(function(i,v){
var ele = $(v);
var adjName = $('input[name=adjName]',ele).val();
parent.updateParent2(adjName);
});
});
//////////////////////////////
function updateParent2(adjName){
alert(adjName);
var ul = $('ul.adjTabs');
var li = ul.find('li:first').clone().val(adjName);
li.find('li:first input');
li.appendTo(ul)//.val(adjName);
}
HTML
<table id="numbers">
<tbody>
<tr id="cloneableRow" class="prototype">
<td >
<input type="text" name="adjName" value="" class="text214 apni"/>
</td>
</tr>
</tbody>
</table>
<input type='button' value='save' class='save' />
<ul class="tabs adjTabs">
<li class="selected"><a href="#">Adjustments ABC</a></li>
<li><a href="#">Adjustments DEF</a></li>
</ul>
2 ответа
Решение
Попробуйте это: http://jsfiddle.net/C9EbG/6/
Вы можете увидеть изменения здесь:
$("input.save").click(function () {
$('#numbers tbody tr').each(function(i,v){
var ele = $(v);
var adjName = $('input[name=adjName]',ele).val();
updateParent2(adjName);
});
});
//////////////////////////////
function updateParent2(adjName){
var ul = $('ul.adjTabs');
var li = ul.find('li:first').clone();
li.children('a').text(adjName);
li.find('li:first input');
li.appendTo(ul)//.val(adjName);
}
Ваш jsfiddle не защищал jQuery. Я исправил это и вашу ошибку: http://jsfiddle.net/C9EbG/3/
Ошибка была, вы должны просто позвонить updateParent2(adjName)
не parent.updateParent2(adjName)