0

このような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>

<select> <option>その XML ファイルに基づいてグレーアウトすることは可能ですか? Slave_1の値が 1 の場合は1<option>が有効になり、Slave_20 の場合は<option>2 が無効またはグレー表示されます。

その後、ユーザーは有効なオプションに基づいて選択を行うことができます。

皆様からのご意見をお待ちしております。Javascript や JQuery は関係ありません。

4

1 に答える 1

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');
    }
  }
});
于 2012-12-03T13:10:52.123 に答える