jquery 无法防止在“onClick”执行后清除所选选项

xmakbtuz  于 2023-03-22  发布在  jQuery
关注(0)|答案(2)|浏览(149)

我目前正在处理一个通过 AJAX 发送数据并使用响应来重置表单中的控件的页面。
当按钮的onClick函数被调用时,它工作正常,但是我在列表中选择的值没有被选中。
我一步一步地浏览了代码,我可以看到选中的选项保持选中状态,直到函数返回后的步骤。当最后一步运行时,发生了一些事情,导致我的选项变为未选中。
下面是我使用的代码:
超文本:

<button id="update" name="update" value="update" onclick="updateStudent(this, 'Student')">Update Student</button>

JavaScript语言:

function updateStudent(obj, theTitle){
    
    var SID = sendForm(obj, theTitle); //ajax update.
    
    // Select Student just updated
    $('#sid option[value=' + SID + ']').prop('selected', 'true');
    $('#sid').click(); // Trigger select's OnClick method
}
vyswwuz2

vyswwuz21#

默认情况下,button元素是一个submit按钮。如果添加

type="button"

......例如:

<button id="update" type="button" name="update" value="update" onclick="updateStudent(this, 'Student')">Update Student</button>
<!-- New bit -------^^^^^^^^^^^^^         -->

...这将阻止它提交表单并重写整个页面。

b5buobof

b5buobof2#

** AJAX 是异步的**

您需要在成功回调中设置它。

相关问题