#jquery #html #ajax
#jquery #HTML #ajax
Вопрос:
У меня есть таблица, в которой вы можете щелкнуть по ячейке и обновить информацию в ячейке, что я сделаю через AJAX. Для того, чтобы мой запрос работал, мне нужна новая информация, введенная в ячейку, а также скрытая переменная, которая является идентификатором предыдущих данных в ячейке, но я не знаю, как скрыть эту часть данных, например, в форме со скрытым вводом. Я был бы очень признателен, если бы кто-нибудь мог мне помочь. Спасибо
Комментарии:
1. Возможно, вас заинтересует .data() , но вам, вероятно, следует включить свой код, чтобы у нас было некоторое представление о том, с чем вы работаете.
2. некоторый код и jsFiddle помогут легче ответить на вопрос.
3. Используется
.data()
для хранения метаданных в каждой ячейке. Если вы можете предоставить свой код, я могу привести вам более практичный пример.
Ответ №1:
Используйте атрибуты данных HTML5 для хранения данных в самом td:
<td data-id="123456" data-another-variable="98765"> ... </td>
Комментарии:
1. Хотя это правильно, это точно не говорит OP, как использовать элементы данных HTML5.
2. Этого более чем достаточно, чтобы найти в Google «атрибуты данных html5 jQuery» и узнать намного больше, чем повторение кода из SO. Довольно часто он получает единственную недостающую часть, которая позволяет вам изучить целую новую область знаний…
3. Весь смысл этого сайта в том, чтобы стать единой точкой знаний. По сути, говоря кому-то «вот тема, которую вы хотите, найдите ее», вряд ли достигает этой цели. Это было бы очень хорошим комментарием, но кажется немного легким для ответа. Если бы google-fu OP был сильным, ему / ей, вероятно, не нужно было бы задавать этот вопрос здесь. Просто мое мнение об этом.
4. спасибо за помощь, это то, что я искал и не был очень хорошо осведомлен о новых атрибутах html 5.
Ответ №2:
Предположим, у вас есть HTML, подобный этому
<tr>
<td>
<span data-id="21">Tony<span>
</td>
<td>
<span data-id="43">345.22<span>
</td>
</tr>
<input type="text" id="txtEdit" style="display:none" />
Теперь каждая ячейка имеет некоторые значения, когда вы нажимаете на нее. скрытое текстовое поле перемещается в эту пертикулярную ячейку (внутри TD) и скрывает диапазон, так что теперь это будет так.
<td>
<input type="text" id="txtEdit"/>
<span style="display:none" data-id="21">Tony<span>
</td>
Когда пользователь выходит из фокуса из текстового поля, обновите значение с помощью ajax и обновите новое значение в span. в случае, если пользователь нажимает escape, переместите текстовое поле в тело и покажите span как есть. вам не нужно использовать скрытое поле. Так просто!
Комментарии:
1. Спасибо за ваш ответ!