如何在不刷新整页的情况下刷新所选字段
how to refresh select field without refreshing full page
我有两层下拉(select box)
如果我在第一级选择了一些东西,那么第二个下拉集将根据第一级选择出现
我在第一层有6个选择,对于每个选择,我有另外6个下拉设置隐藏在页面上。当用户选择时,它将显示第二级下拉。这是第一级
<select name="TapeType" id="TapeType">
<option value="s"><Select></option>
<option value="Polypropylene Tape" id="PT">POLYPROPYLENE TAPE</option>
<option value="HD Polypropylene Tape">HD POLYPROPYLENE TAPE</option>
<option value="X HD Polypropylene Tape">X HD POLYPROPYLENE TAPE</option>
<option value="PVC Tape">PVC TAPE</option>
<option value="HD PVC TAPE">HD PVC TAPE</option>
<option value="Reinforced Paper Tape">REINFORCED PAPER TAPE</option>
<option value="Flatback Tape">FLATBACK TAPE</option>
</select>
这是两个二级
的例子01<select name="TapeColorPT" id="TapeColorPT" class="toggledDropDown">
<option value="Tan">Tan</option>
<option value="White">White</option>
<option value="Clear">Clear</option>
<option value="Red">Red</option>
<option value="Orange">Orange</option>
<option value="Yellow">Yellow</option>
</select>
02
<select name="TapeColorHPT" id="TapeColorHPT" class="toggledDropDown">
<option value="Tan">Tan</option>
<option value="White">White</option>
<option value="Clear">Clear</option>
</select>
对于显示每个下拉菜单,我使用这个方法与js
$('.toggledDropDown').hide();
$('#TapeType').change(function () {
if ($('#TapeType option:selected').text() == "POLYPROPYLENE TAPE"){
$('#TapeColorPT').show();
}
else {
$('#TapeColorPT').hide();
if ($('#TapeType option:selected').val() == "HD Polypropylene Tape"){
$('#TapeColorHPT').show();
}
else {
$('#TapeColorHPT').hide();
}
}});
my issue is
示例:当我在第一层选择1,在第二层选择3时。然后我回到第一层,选择2,这样就出现了另一组第二层的下拉列表。之后,当我回到第一关选择1时,我之前在第二关选择的3会在那里。当我再次返回时,我希望它是选中none。
所以我认为这我可以做,如果有人让我知道如何刷新选择框与javascript(js)
不刷新整个页面。
你可以试着这样修改你的js函数:
$('#TapeType').change(function () {
//you will hide the second and third level
$('.toggledDropDown').hide();
//here i reset the second and third level to defaults by selecting the top one
$('#TapeColorPT,#TapeColorHPT').attr('value','Tan');
//here get the value od the first dropdown
var tapeTypeVal = $('#TapeType').val();
//here i switch for the 6 option of the first dropdown to know which dropdown will
//be appear
switch (tapeTypeVal) {
case 'POLYPROPYLENE TAPE':
$('#TapeColorPT').show();
break;
case 'HD Polypropylene Tape':
$('#TapeColorHPT').show();
break;
}
});
试着把你的第一行代码也放在onchange事件处理程序的主体中:
$('.toggledDropDown').hide(); /* existing top line of code can remain here */
$('#TapeType').change(function () {
$('.toggledDropDown').hide(); /* but also add it right here */
if ($('#TapeType option:selected').text() == "POLYPROPYLENE TAPE"){
$('#TapeColorPT').show();
}
...
完整代码
$('.toggledDropDown').hide();
$('#TapeType').change(function () {
$('.toggledDropDown').hide(); /* adding this line here is the only change */
if ($('#TapeType option:selected').text() == "POLYPROPYLENE TAPE"){
$('#TapeColorPT').show();
}
else {
$('#TapeColorPT').hide();
if ($('#TapeType option:selected').val() == "HD Polypropylene Tape"){
$('#TapeColorHPT').show();
}
else {
$('#TapeColorHPT').hide();
}
}});
相关文章:
- 如何在不刷新页面的情况下更新显示框
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 嵌入的自定义谷歌地图不会在没有刷新的情况下显示
- 如何在不刷新父(应用程序)路由的情况下刷新当前路由
- 刷新jqGrid;t在启用无限滚动的情况下保存当前页面位置
- 如何在不刷新页面的情况下每次单击一组选项卡时刷新视图内容窗格
- 如何在不刷新页面的情况下发送表单
- 如何在不刷新页面的情况下从 PHP 中的 SQL Server 数据库获取数据
- 如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
- 如何在不刷新的情况下停止类的事件
- 使用javascript创建Form元素,并在不重定向/刷新的情况下提交
- 如何在不重新加载的情况下在表单编辑中更改主键后刷新jqgrid行id
- 通过位置栏更改查询字符串,AJAX加载的菜单不会't在没有硬刷新的情况下重新填充
- 如何在不刷新 node.js 和 ejs 的情况下提交表单
- Angular/UI路由器-如何在不刷新所有内容的情况下更新URL
- 如何动态设置填充并在不刷新的情况下显示它
- Rails/JS-在不刷新页面的情况下获取变量
- 允许用户在不刷新页面的情况下留下多条评论