Javascript 当且仅当使用jquery/js选择添加的选项时,如何向动态数量的选择框添加选项并重定向浏览器?
这是我目前拥有的代码。URL验证器之所以存在,是因为它在任何选定的选项上重定向,而我希望重定向被触发的唯一时间是我用jquery添加的选项被单击时 这是我的HTML:Javascript 当且仅当使用jquery/js选择添加的选项时,如何向动态数量的选择框添加选项并重定向浏览器?,javascript,jquery,Javascript,Jquery,这是我目前拥有的代码。URL验证器之所以存在,是因为它在任何选定的选项上重定向,而我希望重定向被触发的唯一时间是我用jquery添加的选项被单击时 这是我的HTML: <select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">!!OptiONS CONtAINED HERE!!</select> 还有我的JS: var customSizeOption = "<opti
<select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">!!OptiONS CONtAINED HERE!!</select>
还有我的JS:
var customSizeOption = "<option value='"+"https://url.com"+"'>Size Not Listed?</option>";
$("[id^=popular_sizes_]").append(customSizeOption);
function validateURL(textval) {
var urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
return urlregex.test(textval);
}
$(function(){
// bind change event to select
$("[id^=popular_sizes_]").on('change', function () {
var url = $(this).val(); // get selected value
if (validateURL(url)) { // require a URL
window.location = url; // redirect
}
return false;
});
});
和
注意:_0自动增加每页最多12个选择框您的代码工作正常,但选择没有其他选项,因此如果您添加默认空白选项并运行其工作的代码,则不会发生更改事件
<select data-select-size-key="0" id="popular_sizes_0" name="popular_sizes_0">
<option></option>
</select>
现在,如果您更改该选项,验证和重定向工作。codepen中缺少HTML?已添加到codepen。SorryWell,如果您希望通过JS重定向并选择,而不是通过用户选择,那么对选择执行smth有什么意义?这就是我从问题中所看到的,Title只是为了便于编写代码而选择了这些选项。通过ruby可以生成60个其他选项。