У меня есть функция перетаскивания для элементов формы.Структура перетаскиваемого элемента:
<div class="tools">
<ul>
<li class="draggable" >
<div class="control">
<label> </label>
<input type="text" name="txt" value="" />
<span class="controlText"> Text Box </span>
<div class="delete" style="display:none"><sup>x</sup></div>
<div class="properties txtbox" style="display:none">Properties</div>
</div>
</li>
Область сбрасывания имеет следующий код.Элементы добавляются в этом
<div class="editor">
<ul class="sortable" id="leftColumn">
<li style="visibility:hidden" class="ui-state-default">Test</li>
</ul>
</div><!-- editor -->
При удалении удаления и свойства отображаются с этим элементом.Теперь, когда я нажимаю на свойства, я получаю диалоговое окно через следующие
$('.txtbox').live('click', function() {
//get the label
var label = $(this).parent().find('label').html();
$("#textbox_label").val(label);
$( "#dialog-textbox" ).dialog( "open" );
return false;
});
, в то время как диалог
<div id="dialog-textbox" title="Text Box Properties" style="display:none">
<p>This is the Text Box Properties Form.</p>
<form>
<fieldset>
<label for="textbox_label">Enter Label </label>
<input type="text" name="textbox_label" id="textbox_label" class="text ui-widget-content ui-corner-all" />
</fieldset>
Теперь я делаю, когдапользователь вводит значение в диалоговой форме для метки, оно должно быть обновлено непосредственно в элементе, и его метка должна соответствовать введенному пользователем
Структура кода обновления, которую я делаю, выглядит как
$("#dialog-textbox").dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Apply": function(){
//code to update element goes here...
var label = $("#textbox_label").val()
alert("New Label "+label);
// here i need to access the item on which the user clicked
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
Как добавить строку в этот код обновления, чтобы метка обновлялась как значение, введенное пользователем ???