Справочная информацияВы можете использовать jquery для динамического изменения типа поля ввода?
Я пытаюсь реорганизовать некоторый код php/html. У меня есть таблица, заполненная различными строками ... каждая строка имеет несколько столбцов, включая значок изображения.
Я хотел бы написать некоторую логику, так что, когда кто-то нажимает на этом изображении, система делает две вещи:
- создает выпадающий список вместо тега.
- получает значения/список для этого выпадающего списка из существующего выпадающего списка. (Вызывается «location_id»).
HTML код
<tr>
<td id="21581">
<img src="?module=chrome&uri=pix/tango-user-trash-16x16-gray.png" title="1rack" height="16" width="16" border="0">
</td>
<td id="location_name">location1</td>
<td>Location1-ABB-01</td>
<td><input tabindex="1" name="submit" class="edit" src="?module=chrome&uri=pix/pencil-icon.png" id="21581" title="Edit row" type="image" border="0"></td>
<td><a href="index.php?page=row&row_id=21586">Row Location1-ABB-01</a></td>
</tr>
так конкретно я хотел бы заменить, что имеет «LOCATION1» в качестве значения с помощью выпадающего, который существует еще где на этой странице. и поскольку воля будет иметь «location1» в списке, я хочу, чтобы «found1» был выбранным значением.
Это Java-код, который я до сих пор:
Javascript Код
$(document).ready(function() {
$(".edit").click(function(){
alert(this.id);
$("#location_id").clone().appendTo("#"+this.id);
});
});
Вопрос
Этот код работает в том, что я в конечном итоге с нового выпадающего списка в строке, но я не уверен, как выбрать/выделить элемент в выпадающем списке со значением «21581». Или, альтернативно, я мог бы сопоставить элемент, используя значение «location_name».
Задача, которую я имею прямо сейчас, однозначно идентифицирует правильный прямоугольник для прокрутки, потому что новое, созданное командой clone(), имеет то же имя, что и существующее.
EDIT 1
Вот что код выглядит прямо сейчас (кстати. Я не могу изменить свою Jquery версию, потому что это кто-то чужой код ... так что я не могу использовать «на . "директива)
$(document).ready(function() {
$(".edit").click(function(e){
alert(this.id);
var menu = $("#location_id").clone();
$(e.currentTarget).replaceWith(menu);
menu.find('option').each(function(i, opt) {
// when the value is found, set the 'selected' attribute
if($(opt).attr('value') == this.id) $(opt).attr('selected', 'selected');
});
});
});
Первое утверждение предупреждение появляется правильно - она показывает значение в первой Td (например, 21581).. Выпадающее меню появляется и заменяет изображение ... но вместо этого мне нужно заменить значение location_name.
http://stackoverflow.com/questions/7895205/creating-dropdown -selectoption-elements-with-javascript, http://stackoverflow.com/questions/4814512/how-to-create-dropdown-list-dynamically-using-jquery – caramba
https://api.jquery.com/clone/ – DontVoteMeDown
@DontVoteMeDown круто. Я не знал об этом. Но это будет ADD выбор для ввода вместо того, чтобы его правильно заменить?Мне нужно заменить его – dot