我试图从Dropdownlist" Max_Price"中删除选项。例如:如果用户选择了选项值=" 200000"在Dropdownlist" Min_Price"中,Dropdownlist" Max_Price"中的选项应删除低于200000的选项:选项值=" 50000"," 100000" &安培; " 200000"但是没有删除带值=&#34的默认选项; &#34 ;. javascript可以这样做吗?
我一直在寻找答案,但没有运气,因为他们都在使用jquery来解决相关/类似的问题。非常感谢你。
<select name="Min_Price">
<option value=" ">Min. Price</option>
<option value="0">$ 0</option>
<option value="50000">$ 50,000</option>
<option value="100000">$ 100,000</option>
<option value="200000">$ 200,000</option>
<option value="300000">$ 300,000</option>
<option value="400000">$ 400,000</option>
<option value="500000">$ 500,000</option>
</select>
<select name="Max_Price">
<option value=" ">Max. Price</option>
<option value="50000">$ 50,000</option>
<option value="100000">$ 100,000</option>
<option value="200000">$ 200,000</option>
<option value="300000">$ 300,000</option>
<option value="400000">$ 400,000</option>
<option value="500000">$ 500,000</option>
<option value="600000">$ 600,000</option>
</select>
答案 0 :(得分:1)
var minPrice = document.querySelector('[name="Min_Price"]');
var maxPriceOptions = document.querySelectorAll('[name="Max_Price"] option');
var reg = /[\$\,]/g;
minPrice.addEventListener("change", function(e){
var v = +e.target.value.replace(reg, "");
Array.from(maxPriceOptions).forEach(el=>el.value!==" " &&+el.value.replace(reg, "")<v && el.remove())
});
&#13;
<select name="Min_Price">
<option value=" ">Min. Price</option>
<option value="0">$ 0</option>
<option value="50000">$ 50,000</option>
<option value="100000">$ 100,000</option>
<option value="200000">$ 200,000</option>
<option value="300000">$ 300,000</option>
<option value="400000">$ 400,000</option>
<option value="500000">$ 500,000</option>
</select>
<select name="Max_Price">
<option value=" ">Max. Price</option>
<option value="50000">$ 50,000</option>
<option value="100000">$ 100,000</option>
<option value="200000">$ 200,000</option>
<option value="300000">$ 300,000</option>
<option value="400000">$ 400,000</option>
<option value="500000">$ 500,000</option>
<option value="600000">$ 600,000</option>
</select>
&#13;