Как создать скрытую переменную данных в

#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. Спасибо за ваш ответ!