我的表单中有一个选择选项。它将由用户选择一次,并在更改时向服务器发出ajax请求并呈现表单。渲染形式也包含与他/她选择的选项相同的字段。所以我不希望他们再次选择该选项。通过禁用它,表单将不会提交其值。那么这将是一个什么选择。
答案 0 :(得分:1)
选项1:您可以通过在数组中存储索引来跟踪用户选择的选项。因此,在进行ajax呼叫之前,您可以检查是否已经成功进行了呼叫。在每次成功通话时,您都会将其推入阵列。
var queriedItems = [];
function onItemChange(this) {
var index = this.selectedIndex; //value can also be used
if (queriedItems.indexOf(index) === -1) { //not queried so far
/*perform ajax call
onscussess/readystatechanged
queriedItems.push(index)
*/
}
}
选项2:使用css和div而不是html select构建自定义下拉列表。它允许您灵活地添加适当的css类,以模仿用户已选择的特定选项。您可以通过小小的谷歌搜索轻松找到如何实现自定义下拉菜单。 您可以使用隐藏字段来存储所选值,以便默认情况下将其提交给服务器。
答案 1 :(得分:0)
您可以在像此
这样的ajax创建的select
上使用双重事件
var val ="";
$('#check').on('click',function(){
val=$(this).val();
});
$('#check').change(function(){
$(this).val(val);
})
<强> Fiddle DEMO 强>