我有一个服务器端生成的选项列表,如下所示,
<select id="chosen">
<option value="1">select 1</option>
<option value="2">select 1</option>
<option value="3">select 1</option>
<option value="4">select 1</option>
<option value="5">select 1</option>
</select>
根据选择的选项,数据将从服务器中拉出并追加到表(行)中
我想要实现的是,当我从选项列表中选择项目时(使用onChange),我想从列表中删除该选择的项目(这样我就不会再因错误地重复选择同一项目了)< / p>
我已经编译了以下onChange脚本
$("#chosen").change(function() {
var data = "";
var val = $("#chosen option:selected").val();
$.ajax({
type:"GET",
url : "pull_cust_inv.php",
data : "invId="+$( "#chosen option:selected" ).val(),
async: false,
success : function(data) {
$("#inv_list").append(data);
//$("#chosen option:selected").remove();
},
error: function() {
alert('Error occured');
}
});
// REMOVE SELECTED OPTION
$("#chosen option[value="+val+"]").remove();
});
但是,由于某些奇怪的原因,该选项仍出现在列表中(不会自行删除),但是当我第二次选择该选项时,该选项就没有被选中。
有人可以告知我的代码有什么问题吗?
答案 0 :(得分:0)
您删除的 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let videoList = self.video[indexPath.row]
let youtubeEmbed = NSURL(string: "http://www.youtube.com/watch?v=" + videoList.videoId!)
let video = AVPlayer(url: youtubeEmbed! as URL)
let videoPlayer = AVPlayerViewController()
videoPlayer.player = video
present(videoPlayer, animated: true, completion: {
print(youtubeEmbed!)
video.play()
})
}
上的丢失
尝试更换
''
与
$("#chosen option[value="+val+"]").remove();
答案 1 :(得分:0)
我自己想出了答案。 我将“选择的” jquery插件用于选择下拉列表,因此传统方法(如下)将无法工作
$("#chosen option[value="+val+"]").remove();
解决方案 如果有人碰巧使用了我使用“选择”(jQuery插件)实现的技术,则删除所选选项的正确方法是编写以下几行。
$("#chosen option[value="+val+"]").remove();
$("#chosen").trigger("chosen:updated");
意思是,一旦“删除”选项元素,您将必须触发“ chosen:updated”方法。
这仅表示您正在使用所选的Jquery UI插件。
希望它可以帮助某人 :)