我有兩個選擇表單域。一個是「price_from」,另一個是「price_to」。問題是,我想阻止用戶選擇例如price_from「10000」和price_to「1000」,所以基本上我必須找到一些JavaScript函數,它基於「price_to」值向前設置「price_to」字段值。即:如果我選擇price_from =「3000」,price_from字段將顯示「4000」的值。反之亦然。如果有人再次更改「price_to」或「price_from」字段。Javascript(jQuery)兩個選擇價格從/到範圍
回答
試試這個:
HTML:
<select id="from1" relatedTo="to1">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<select id="to1" relatedTo="from1">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<br/>
<select id="from2" relatedTo="to2">
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
</select>
<select id="to2" relatedTo="from2">
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
</select>
的JavaScript:
// function to valide two selects
function validateSelects(fromSelector, toSelector) {
// registering the change event to the "to" select
$(toSelector).change(function() {
var fromSelector = "#" + $(this).attr("relatedTo");
var toSelector = "#" + $(this).attr("id");
// compares the value of the selected item with the from select
if ($(this).val() > $(fromSelector).val()) {
// selects the value of the from select
$(this).val($(fromSelector).val());
}
});
// puts the gui in a valid state
$(fromSelector).change(function() {
var fromSelector = "#" + $(this).attr("id");
var toSelector = "#" + $(this).attr("relatedTo");
// compares if the value of this field is less than the value of the "to" select
if ($(this).val() < $(toSelector).val()) {
// if so, change the value of the "to" select
$(toSelector).val($(this).val());
}
});
}
validateSelects("#from1", "#to1");
validateSelects("#from2", "#to2");
的jsfiddle:http://jsfiddle.net/davidbuzatto/YNL6R/
編輯:我在每個選擇插入一個自定義屬性來表示它們綁定的選擇。
+1 - 努力。 – undefined 2012-07-23 19:29:30
@Raminson:tks!我更新了答案,現在更好:) – davidbuzatto 2012-07-23 19:35:00
謝謝你,但它工作不正常。這真的很奇怪:)。例如,如果您從「10000」中選擇價格並選擇價格到「9000」就沒關係,但是如果您選擇價格到「1000」,那麼它不是:)。請在我的循環中嘗試下一個答案 – 2012-07-23 19:43:23
這是html代碼。 @davidbuzatto你的代碼正在工作,但嘗試選擇price_from 10000和價格1000你會看到。
<select name="pricesFrom" id="pricefrom"><option value="0" selected>Any</option><option value="500">500.00</option><option value="1000">1,000.00</option><option value="2000">2,000.00</option><option value="3000">3,000.00</option><option value="4000">4,000.00</option><option value="5000">5,000.00</option><option value="6000">6,000.00</option><option value="7000">7,000.00</option><option value="8000">8,000.00</option><option value="9000">9,000.00</option><option value="10000">10,000.00</option><option value="11000">11,000.00</option><option value="12000">12,000.00</option><option value="13000">13,000.00</option><option value="14000">14,000.00</option><option value="15000">15,000.00</option><option value="16000">16,000.00</option><option value="17000">17,000.00</option><option value="18000">18,000.00</option><option value="19000">19,000.00</option><option value="20000">20,000.00</option></select></label><label>Price to
<select name="pricesTo" id="priceto"><option value="0" selected>Any</option><option value="500">500.00</option><option value="1000">1,000.00</option><option value="2000">2,000.00</option><option value="3000">3,000.00</option><option value="4000">4,000.00</option><option value="5000">5,000.00</option><option value="6000">6,000.00</option><option value="7000">7,000.00</option><option value="8000">8,000.00</option><option value="9000">9,000.00</option><option value="10000">10,000.00</option><option value="11000">11,000.00</option><option value="12000">12,000.00</option><option value="13000">13,000.00</option><option value="14000">14,000.00</option><option value="15000">15,000.00</option><option value="16000">16,000.00</option><option value="17000">17,000.00</option><option value="18000">18,000.00</option><option value="19000">19,000.00</option><option value="20000">20,000.00</option></select>
嘗試更改後的代碼。當你的問題有新的內容時,只需更新原始內容即可?這些評論用於簡要討論,而不是補充問題;) – davidbuzatto 2012-07-23 20:07:56
- 1. 算法來選擇價格範圍
- 2. Calcuate價格範圍在Javascript
- 3. 如何選擇使用jQuery(移動)的價格範圍
- 4. 如何篩選價格範圍在JSON數據:Javascript或jQuery的
- 5. 選擇從範圍
- 6. 從範圍中選擇一個單元格或選擇
- 7. 選擇兩個字段的範圍
- 8. javascript選擇/範圍座標
- 9. 範圍選擇器與javascript
- 10. jQuery從範圍內選擇文本
- 11. 選擇以下範圍jquery
- 12. 選擇選項作爲進度條和價格範圍
- 13. 範圍價格openerp
- 14. jquery multiselect從兩個選擇到一個?
- 15. Mysql ...價格範圍內的價格範圍?
- 16. 選項菜單與價格範圍
- 17. Javascript選擇更改價格
- 18. 選擇從範圍功能
- 19. Db2從範圍中選擇
- 20. 選擇價格在查詢範圍之間
- 21. 選擇多種貨幣的價格範圍
- 22. 如何使用jQuery選擇(或:不)一個單元格範圍?
- 23. 從一個範圍中選擇數字
- 24. JQuery,按用戶選擇篩選?範圍?
- 25. 從範圍字符串中選擇多個範圍
- 26. Rails4範圍從兩個表選擇數據和求和結果
- 27. 選擇範圍個數
- 28. 如何使用jQuery中的datepicker從兩個日期範圍中選擇?
- 29. 範圍價格計算
- 30. 標出價格範圍Schema.org
你在用什麼HTML?你可以發佈你已經得到的[JS小提琴](http://jsfiddle.net/),[JS斌](http://jsbin.com/)或類似的演示。而且,而不是兩個鏈接的滑塊,使用一個範圍滑塊不會更容易嗎? – 2012-07-23 19:17:03
我在一個例子中工作。稍等片刻...... – davidbuzatto 2012-07-23 19:18:41
你的代碼在哪裏? – Sparky 2012-07-23 19:31:06