使用核心jQuery,如何删除选择框的所有选项,然后添加一个选项并选择它?
我的选择框如下.
<Select id="mySelect" size="9"> </Select>
Run Code Online (Sandbox Code Playgroud)
编辑:以下代码有助于链接.但是,(在Internet Explorer中).val('whatever')未选择已添加的选项.(我没有使用两个相同的"价值" .append和.val.)
$('#mySelect').find('option').remove().end()
.append('<option value="whatever">text</option>').val('whatever');
Run Code Online (Sandbox Code Playgroud)
编辑:试图让它模仿这个代码,每当页面/窗体重置时,我使用以下代码.此选择框由一组单选按钮填充..focus()更接近,但该选项似乎没有像它一样被选中.selected= "true".我现有的代码没有任何问题 - 我只是想学习jQuery.
var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";
Run Code Online (Sandbox Code Playgroud)
编辑:选择的答案接近我需要的.这对我有用:
$('#mySelect').children().remove().end()
.append('<option selected value="whatever">text</option>') ;
Run Code Online (Sandbox Code Playgroud)
但这两个答案都让我得到了最后的解决方案..
如果您知道索引,值或文本.如果您没有直接参考的ID,也可以.
示例标记
<div class="selDiv">
<select class="opts">
<option selected value="DEFAULT">Default</option>
<option value="SEL1">Selection 1</option>
<option value="SEL2">Selection 2</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud) 文档指出error:option函数将可用:XHR实例,状态消息字符串(在这种情况下总是错误)和从XHR实例返回的可选异常对象(Book:JQuery in Action)
使用以下(在$ .ajax调用中)我能够确定我有一个"parsererror"和一个"超时"(因为我添加了timeout:option)错误
error: function(request, error){}
Run Code Online (Sandbox Code Playgroud)
您在错误选项中评估的其他内容是什么?你是否包含可选的异常对象?
编辑:其中一个答案表明所有返回错误...了解更多关于XHR实例中的值(用于调试)和异常对象将有所帮助
这是一个完整的$ .ajax调用:
$.ajax({
type: "post",
url: "http://myServer/cgi-bin/broker" ,
dataType: "text",
data: {
'_service' : 'myService',
'_program' : 'myProgram',
'start' : start,
'end' : end
},
beforeSend: function() {
$("#loading").removeClass("hide");
},
timeout: 5000,
error: function(request,error) {
$("#loading").addClass("hide");
if (error == "timeout") {
$("#error").append("The request timed out, please resubmit");
}
else {
$("#error").append("ERROR: " + error);
}
},
success: function(request) {
$("#loading").addClass("hide");
var t = eval( "(" + request + ")" …Run Code Online (Sandbox Code Playgroud) 我在这里阅读了关于在密集DOM处理(使用JavaScript)期间使用setTimeout()的帖子,但是如何将此函数与下面的代码集成?以下代码适用于少量选项,但当选项数量太大时,我的"请等待"动画GIF会在本地JavaScript处理时冻结.谢谢!
function appendToSelect() {
$("#mySelect").children().remove() ;
$("#mySelect").html(
'<option selected value="' + obj.data[0].value + '">'
+ obj.data[0].name
+ '</option>'
);
var j = 1 ;
for (var i = 1; i < obj.data.length; i++) {
$("#mySelect").append(
'<option value="' + obj.data[i].value + '">'
+ obj.data[i].name
+ '</option>'
);
}
}
Run Code Online (Sandbox Code Playgroud) 使用这个问题的答案,我已经能够根据另一个选择框的选择填充一个选择框.(我在这里发布了我的答案)从服务器端构建的数组结构中提取数据,存储在.js文件中并在html页面中引用.
现在我想添加第三个选择框.如果我有3组数据(模型,制作,选项)类似这样(伪代码):
cars : [Honda[Accord[Lx, Dx]], [Civic[2dr, Hatchback]],
[Toyota[Camry[Blk, Red]], [Prius[2dr,4dr]]
Run Code Online (Sandbox Code Playgroud)
例如:如果选择本田,下一个选择框将有[Accord Civic],如果选择了Accord,下一个选择框将有[Lx Dx]
我怎么能够
1)创建一个数组结构来保存数据?这样的
2)我可以使用一个选择框中的值来引用下一个选择框所需的值
谢谢
编辑
我可以创建以下内容,但无法以有助于填充选择框的方式找出引用
var cars = [
{"makes" : "Honda",
"models" : [
{'Accord' : ["2dr","4dr"]} ,
{'CRV' : ["2dr","Hatchback"]} ,
{'Pilot': ["base","superDuper"] } ]
},
{"makes" :"Toyota",
"models" : [
{'Prius' : ["green","reallyGreen"]} ,
{'Camry' : ["sporty","square"]} ,
{'Corolla' : ["cheap","superFly"] } ]
} ] ;
alert(cars[0].models[0].Accord[0]); ---> 2dr
Run Code Online (Sandbox Code Playgroud) 下面是我用来动态构建HTML表的代码(使用从服务器接收的JSON数据).
我在加载数据时显示动画的等待(.gif)图形.但是,当JavaScript函数构建表时,图形会冻结.起初,我很高兴能够实现这一目标(显示表格),我想现在我需要努力提高效率.至少我需要阻止动画图形冻结.我可以去静态"加载"显示,但我宁愿让这个方法工作.
我的建议请等待显示?和效率?可能是建立桌子的更好方法?或许不是一张桌子,而是一些其他"桌子"就像展示一样
var t = eval( "(" + request + ")" ) ;
var myTable = '' ;
myTable += '<table id="myTable" cellspacing=0 cellpadding=2 border=1>' ;
myTable += "<thead>" ;
myTable += "<tr>";
for (var i = 0; i < t.hdrs.length; i++) {
myTable += "<th>" + header + "</th>";
}
myTable += "</tr>" ;
myTable += "</thead>" ;
myTable += "<tbody>" ;
for (var i = 0; i < t.data.length; i++) {
myTable += '<tr>';
for (var j …Run Code Online (Sandbox Code Playgroud) 使用JQuery,如何将click事件绑定到表单元格(下面,class ="expand"),这将改变图像src(在单击的单元格中 - 原始将是plus.gif,与minus.gif交替)并根据该行是否具有"隐藏"类隐藏/显示其下方的行.(如果它有一类"隐藏"则显示它,如果它没有"隐藏"类则隐藏).我可以灵活地更改标记中的ID和类.
谢谢
表行
<tr>
<td class="expand"><img src="plus.gif"/></td>
<td>Data1</td><td>Data2</td><td>Data3</td>
</tr>
<tr class="show hide">
<td> </td>
<td>Data4</td><td>Data5</td><td>Data6</td>
</tr>
Run Code Online (Sandbox Code Playgroud) 感谢您阅读本文
我以为我可以使用find(),但无法使其工作.我知道我可以添加ID或类名,但想知道如何使用当前标记.
谢谢
这是HTML
<input name="keywordCheckbox" type="checkbox" value="S" />
<input name="keywordCheckbox" type="checkbox" value="C" />
<input name="keywordCheckbox" type="checkbox" value="A" />
Run Code Online (Sandbox Code Playgroud)
和js
<script language="Javascript" src="javascript/jquery-1.2.6.min.js"></script>
<script type="text/JavaScript">
$(function(){
$('[name="keywordCheckbox"]').bind("click",
function() {
if($(this).attr("checked") == true) {
switch(this.value) {
case "A":
var $_this = $(this) ;
$('[name="keywordCheckbox"]').each(function() {
if($(this).val() != $($_this).val()) { $(this).attr("checked",false); }
});
break ;
default:
DOESN'T WORK --> $('[name="keywordCheckbox"]').find('[value="A"]').attr("checked", false);}
} // END Switch
} // END If
}); // End BIND
}); // End eventlistener
</script>
Run Code Online (Sandbox Code Playgroud) 使用jQuery,如何动态设置选择框的大小属性?
我想在此代码中包含它:
$("#mySelect").bind("click",
function() {
$("#myOtherSelect").children().remove();
var options = '' ;
for (var i = 0; i < myArray[this.value].length; i++) {
options += '<option value="' + myArray[this.value][i] + '">' + myArray[this.value][i] + '</option>';
}
$("#myOtherSelect").html(options).attr [... use myArray[this.value].length here ...];
});
});
Run Code Online (Sandbox Code Playgroud) 我有一个VB6遗留程序,我需要更改.我无法从IDE运行该程序.当我激活IDE中的一个表单时,我收到一个错误,它引用了一个错误日志文件.日志文件中包含以下内容
"无法加载控制SSPanel;未找到许可证"
SSPanel是Sheridan 3D控件(THREED32.ocx)的一部分,并且选择了该组件.
我该如何修复错误?