在ajax请求后清除所有选定的选项

时间:2016-09-17 17:32:49

标签: jquery

通过单击更新链接,根据从Ajax请求检索到数据库的数据,从下拉列表中选择值,当我在console.log时,我可以看到响应,我可以看到数据,并且我已成功地将其与drop进行比较 - 下拉列表,如果匹配,将选择其中一个选项值。

如果我点击“清除”按钮清除所选选项,它将首次运行。

但是,如果我再次点击更新链接到检索到的数据,我可以看到我在控制台时检索到数据。记录响应但没有从下拉列表中选择任何内容。

任何帮助 - 这是我下面的代码

<p>
    <a href="javascript:;" class="updateCenter">Update</a>
</p>

<form method="post" action="controller/update" class="formInuts">
    <select required="" name="semester_id" class="form-control semester">
        <option value="">Pleas Select</option>
        <option value="1">Semester 1</option>
        <option value="2">Semester 2</option>
        <option value="3">Semester 3</option>
    </select>
    <button type="submit" class="btn btn-primary saveCorCnt">SAve</button>
    <button type="" class="btn btn-primary clearCorCnt">Clean</button>
</form>


// Update 
$('.updateCenter').on('click', function(event) {
    event.preventDefault();

    // semester id
    var corcnt_id = 1;

    $.ajax({
        url: url+'/findcorcnt',
        type: 'POST',
        dataType: 'JSON',
        data: {
            corcntid: corcnt_id
        },
        beforeSend: function() {
        },
        success: function(respond) {
            // Data retrieved successfully 
            // first time and every time i click on update link
            // Changing the current action to update
            var formInuts = $('.formInuts').attr('action',url+'/updatecorcnt');

            // Change save btn to update
            var saveBtn   = $('.saveCorCnt').text('update');

            // Selecting the values from dropdowns semesters
            $('.semester option').each(function(){
                if (parseInt(this.value) == respond.semester_id) {
                    $(this).attr('selected', true);
                }
            });
        });


$('.clearCorCnt').on('click', function(event) {
    event.preventDefault();

    $(':input','.formInuts')
        .removeAttr('checked')
        .removeAttr('selected')
        .not(':button, :submit, :reset, :hidden, :radio, :checkbox')
        .val('');

    var saveBtn   = $('.saveCorCnt').text('save');
});

1 个答案:

答案 0 :(得分:1)

无需使用循环进行比较。试试如下。

$('.semester').val(respond.semester_id);