我正在使用Jquery来选择下拉值
我需要对 OnChange 事件(jquery中的.change)执行一些操作,但如果下拉列表中只有一个选项,则无法在onChange事件中捕获它。
我的下拉动态是动态形成的,所以不知道有多少选项我会得到多少选项,但如果只有一个选项,我就会遇到问题。
有没有办法只用一个捕获OnChange事件?
答案 0 :(得分:1)
您不需要进行onchange事件。只需要一个从onchange调用的函数,如果只有一个项目,那就继续调用该函数。
function populate() {
//do work to populate #selector
if($("#selector option").length == 1) {
$("#selector").hide();
workerFunction();
} else {
$("#selector").show();
}
$("#selector").change(workerFunction);
//the following line of code will work like a default:
workerFunction();
}
function workerFunction() {
//put whatever used to be in your onChange function here
}
答案 1 :(得分:0)
onchange事件。由于您的下拉列表具有唯一值,因此其状态永远不会更改,因此不会触发该事件。
答案 2 :(得分:0)
<label for="checkboxThatUsedToBeASelect">
<input type="checkbox" id="checkboxThatUsedToBeASelect" name="checkboxThatUsedToBeASelect" value="something" />
</label>
$('#checkboxThatUsedToBeASelect').change( function(){
});
现在您拥有更加用户友好的输入,并且在选中或取消选中时会触发更改。 :d
答案 3 :(得分:0)
条件事件活页夹怎么样?类似的东西:
var changeHandler = function (method) {
alert(method);
};
if ($('select option').length > 1) {
$('select').change(function() {
changeHandler('change');
});
} else {
$('select').click(function() {
changeHandler('click');
});
}
答案 4 :(得分:-1)
听起来您的选项标签中有HTML错误。
此外,为了定位使用jQuery创建的对象,您必须使用委托人。
import random
file = open('artists.txt', 'r')
ARTIST = random.randint(0, 9)
print(file.readlines()[ARTIST])
file.close()
这就是说,您应该有能力检测新旧元素的变化
答案 5 :(得分:-2)
.change寻找另一名犯人切换位置。在你的情况下,遗憾的是,有一个单独的家庭案件因此事件没有解雇。