在HTML表单中,我使用如下的下拉列表:
<select onchange="send()">
<option value="a">Option A</option>
<option value="b">Option B</option>
<option value="c">Option C</option>
</select>
当用户更改所选条目时,将调用send()
,它基本上使用jQuery.ajax(...)
将新值发送到服务器。这很好。
当传输因某种原因失败时,将通知用户该错误。然后,大多数用户将再次选择相同的条目进行重试。现在的问题是,这不会再次触发onchange
事件,因为值没有改变。处理这个问题的最佳方法是什么?
答案 0 :(得分:4)
试试这个 HTML
<select id="chg">
<option>a</option>
<option selected>b</option>
<option>c</option>
</select>
脚本
$("select#chg").mouseup(function() {
var open = $(this).data("isopen");
if(open) {
alert($(this).val());
}
$(this).data("isopen", !open);
});
答案 1 :(得分:1)
您可以创建空值选项
<option value=''></option>
默认选择哪个作为首次加载,当任何选择发生错误时,您可以从选择框中选择“清空”选项。因此,下次用户需要选择选项,并且'send()'函数将调用。
// Selection empty option by code
$('#selectBoxId').val('');
答案 2 :(得分:0)
也许你可以使用onclick事件