Циклическая обработка формы входных данных и совпадение с массивом Json - PullRequest
0 голосов
/ 08 июня 2011

Я запускаю запрос ajax и возвращаю массив json. В массиве json больше, чем полей на странице. Я хочу прокрутить текстовые поля, найти их ИМЯ, сопоставить их с массивом json и ввести значение.

Имена полей и имена в массиве json совпадают.

<script type="text/javascript">
function loadIntake(){
var client = <?php echo $id ?>;

$.post("loadIntake.php", 
    {id: client},
    function(jdata){
        $.each(jdata, function(i, data) {
            $('#' + i).val(data);
        });
            $('input[type=text]').attr("name", function(n, idata){
                //$(idata).val(jdata.idata);
                //alert (idata);
            })
    },
    "json"
);  

}
</script>

Однако некоторые поля являются текстовыми, некоторые являются текстовыми полями, некоторые - радиокнопками и флажками. Как я уже сказал, массив json имеет больше полей, чем полей на странице. Поэтому я не хочу иметь дело с ненужным запуском кода.

Ответы [ 2 ]

2 голосов
/ 22 июня 2011

Есть несколько плагинов, которые вы можете использовать для этого.Заполнение формы с помощью объекта json сложнее, чем вы думаете, потому что поля имеют не только тип «input», но также могут быть «textarea», «checkbox», «radio» или «select».

Я нашел следующие плагины для заполнения форм, но они довольно старые:

http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html

http://plugins.jquery.com/project/Wonderfill

0 голосов
/ 08 июня 2011

Как насчет этого:

$.each(jdata, function(i, data) {
    var nameOfField = data.name;
    $('[name='+nameOfField+']').val();
});

Честно говоря, я не уверен, что это сработает, но попробовать не помешает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...