在 Javascript 的下拉列表中隐藏对象
Hiding an object in a dropdown in Javascript
我最近 post 回答了一个问题(感谢大家的帮助!!),如果有人可以帮助我,我会进行跟进。
我想看看是否可以在 Javascript 的下拉列表中隐藏某些元素。这是代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<br>
<p>The price is: <span id="price_selected"></span></p>
<script language="JavaScript">
$("option[value='124']").html('1 Box [.95]')
$("option[value='125']").html('2 per Case [.95]')
$("option[value='126']").html('6 per Case [.95]')
$('select').on('change',function(){
str = $("option:selected").html()
var n = str.indexOf("$");
var nx = str.indexOf("]");
var price = str.substring(n+1,nx);
$('#price_selected').html("$"+price);
});
</script>
在这段代码中,我可以隐藏价格以使其不显示在下拉列表中吗?例如,下拉列表将显示“1 Box”,但会输出 "The price is: "12.95”。此外,是否可以在页面加载后立即显示 "The price is: 12.95"(第一个选项)?截至目前,它只会显示 "The price is:",直到单击下拉菜单。
我刚刚注册了这个论坛,如果有什么不明白的地方,我深表歉意。谢谢!!
编辑:
如果我将其包含在我的 post 中可能会更有帮助。这是下拉框的HTML,不过是自动生成的,无法修改:
<SELECT name="SELECT___TK46BW___9" onChange="change_option('SELECT___TK46BW___9',this.options[this.selectedIndex].value)">
<OPTION value="124" SELECTED>1 Box</OPTION>
<OPTION value="125" >2 per Case [Add .95]</OPTION>
<OPTION value="126" >6 per Case [Add .00]</OPTION>
</SELECT>
这是一种方法。使用 data
属性 (data-price
) 将价格添加到每个 option
,然后检索该数据。
我也按照您的要求在加载时添加了所选价格。
$("option[value='124']").html('1 Box').data('price', '12.95');
$("option[value='125']").html('2 per Case').data('price', '22.95');
$("option[value='126']").html('6 per Case').data('price', '62.95');
$('select').on('change', function() {
str = $("option:selected").data('price')
$('#price_selected').html("$" + str);
});
// run on load
$('#price_selected').html("$" + $('select option:selected').data('price'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
Choose an amount:
<select>
<option value="124"></option>
<option value="125"></option>
<option value="126"></option>
</select>
</p>
<p>
The price is: <span id="price_selected"></span>
</p>
我最近 post 回答了一个问题(感谢大家的帮助!!),如果有人可以帮助我,我会进行跟进。
我想看看是否可以在 Javascript 的下拉列表中隐藏某些元素。这是代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<br>
<p>The price is: <span id="price_selected"></span></p>
<script language="JavaScript">
$("option[value='124']").html('1 Box [.95]')
$("option[value='125']").html('2 per Case [.95]')
$("option[value='126']").html('6 per Case [.95]')
$('select').on('change',function(){
str = $("option:selected").html()
var n = str.indexOf("$");
var nx = str.indexOf("]");
var price = str.substring(n+1,nx);
$('#price_selected').html("$"+price);
});
</script>
在这段代码中,我可以隐藏价格以使其不显示在下拉列表中吗?例如,下拉列表将显示“1 Box”,但会输出 "The price is: "12.95”。此外,是否可以在页面加载后立即显示 "The price is: 12.95"(第一个选项)?截至目前,它只会显示 "The price is:",直到单击下拉菜单。
我刚刚注册了这个论坛,如果有什么不明白的地方,我深表歉意。谢谢!!
编辑:
如果我将其包含在我的 post 中可能会更有帮助。这是下拉框的HTML,不过是自动生成的,无法修改:
<SELECT name="SELECT___TK46BW___9" onChange="change_option('SELECT___TK46BW___9',this.options[this.selectedIndex].value)">
<OPTION value="124" SELECTED>1 Box</OPTION>
<OPTION value="125" >2 per Case [Add .95]</OPTION>
<OPTION value="126" >6 per Case [Add .00]</OPTION>
</SELECT>
这是一种方法。使用 data
属性 (data-price
) 将价格添加到每个 option
,然后检索该数据。
我也按照您的要求在加载时添加了所选价格。
$("option[value='124']").html('1 Box').data('price', '12.95');
$("option[value='125']").html('2 per Case').data('price', '22.95');
$("option[value='126']").html('6 per Case').data('price', '62.95');
$('select').on('change', function() {
str = $("option:selected").data('price')
$('#price_selected').html("$" + str);
});
// run on load
$('#price_selected').html("$" + $('select option:selected').data('price'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
Choose an amount:
<select>
<option value="124"></option>
<option value="125"></option>
<option value="126"></option>
</select>
</p>
<p>
The price is: <span id="price_selected"></span>
</p>