#javascript #jquery #html #css #textbox
#javascript #jquery #HTML #css #текстовое поле
Вопрос:
Это html-разметка
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js">
</script>
<style type="text/css">
div{ padding:4px; }
</style>
</head>
<body>
<script type="text/javascript">
$(document).ready(
function() {
var counter = 2;
$('a.add').live('click', function() {
if (counter > 5) {
alert("Only 5 textboxes allowed");
return false;
}
var newRow =
$(this).closest('tr').clone().appendTo('#gridInAnswers').find('input').val('');
var i = 0;
$('#gridInAnswers input').each(function() {
$(this).attr("id", "Col" (i ));
});
$(this).text('Remove').removeClass('add').addClass('remove');
counter ;
});
$('a.remove').live('click', function() {
$(this).closest('tr').remove();
counter--;
var i=0;
$('#gridInAnswers input').each(function() {
$(this).attr("id", "Col" (i ));
});
});
$("#getButtonValue").click(function() {
var test='';
for(var i=0;i<5;i ){
var minValue = $('#Col' (i )).val().trim();
var maxValue = $('#Col' i).val().trim();
if((minValue=='' amp;amp; maxValue !='')||(minValue!='' amp;amp; maxValue !='' amp;amp; minValue > maxValue)){
alert('Alerting...');
}
}
var gridInAnswerValuesHtml = "";
$(".grdAns").each(function() {
//ansString = this.value ",";
gridInAnswerValuesHtml = "<input type = "hidden" name = "gridInAnswers" value = "";
gridInAnswerValuesHtml = this.value;
gridInAnswerValuesHtml = "">";
});
alert(gridInAnswerValuesHtml);
});
});
</script>
</head>
<body>
<div id="blankDiv"></div>
<table id="gridInAnswers">
<tr>
<th>
Min Value
</th>
<th>
Max Value
</th>
</tr>
<tr>
<td>
<input type="text" name="col1" id="Col0" class="grdAns" />
</td>
<td>
<input type="text" name="col1" id="Col1" class="grdAns" />
</td>
<td>
<a href="#" class="add">Add</a>
</td>
</tr>
<tr>
<input type='button' value='Get TextBox Value' id='getButtonValue'>
</tr>
</table>
</body>
при нажатии кнопки добавить я хочу удалить текстовое поле, но его содержимое должно отображаться, скажем, внутри div. т. Е. я хочу запретить пользователю изменять это, но отключить текстовое поле не вариант. Как мне этого добиться?
Комментарии:
1. Решается с использованием вашего кода. Я советую вам в следующий раз немного расширить пространство вашего вопроса и сформулировать его немного подробнее; сначала это немного сбивало с толку, пока я не увидел ваш пример.
Ответ №1:
В основном, что вам нужно сделать, это выполнить замену, как только вы нажмете на add
ссылку. Замена действительно проста.
// Do the magic here (Kuroir)
$(this).parent().parent().find('input').each(function(){
$(this).replaceWith('<div class="inactive">' $(this).val() '</div>');
});
По сути, вы возвращаетесь к tr
уровню, затем находите входные данные и выполняете замену для этой строки.
Рабочее решение: http://jsfiddle.net/kuroir/SXppg /
Ответ №2:
Чтобы получить содержимое из <input>
и поместить его в <div>
, вам нужно что-то вроде:
$('#target-div-id').text(
$('#Col0').val()
);
Я достаточно уверен, что это то, что вы пытаетесь сделать.