我有一个像这样的XML文件
<?xml version="1.0" standalone="no" ?>
<Reading>
<Item Time="17:35">
<SlaveAddress />
<Slave_4 Value="0" />
<Slave_3 Value="0" />
<Slave_2 Value="0" />
<Slave_1 Value="1" />
</Item>
</Reading>
我的下拉列表看起来像这样
<select id="comboBox" style="width:100px;" tabindex="1">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
是否可以根据该XML文件使<select>
<option>
中的任何一个变灰?这意味着如果Slave_1
的值为1,则启用<option>
1,如果Slave_2
为0,则<option>
2将被禁用或显示为灰色。
然后,用户可以根据任何已启用的选项进行选择。
我很想得到你的任何意见。 Javascript或JQuery并不重要。
答案 0 :(得分:1)
这样的事情应该可以解决问题。解析xml,mjQueryfy它,通过它,获取正确的东西,并根据需要禁用或启用
var xml = $.parseXML('your_xml_as_a_string_or_whatever');
var $xml = $(xml);
$xml.find('Item').children().each(function(index, value) {
var $this = $(this);
var tagName = $this.prop('tagName').toLowerCase();
if (tagName.indexOf("slave_") === 0) {
var value = $this.attr('Value');
var number = tagName.slice(-1);
if (value === '0') {
$('option[value="'+number+'"]').attr('disabled', 'disabled');
} else {
$('option[value="'+number+'"]').removeAttr('disabled');
}
}
});