0

我正在使用 XML 抱歉,我的 xml 中有一些字段

    <field name="montext" type="text" sp="" db="">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
    <field name="montext2" type="text" sp="" db="">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
    <field name="montext3" type="text" sp="" db=">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
    <field name="montotal" type="text" sp="" db=">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>

我希望能够检查每个字段并查看其中是否有数据。如果字段中有数据,如果不是 0,则将其计为 ONE。因此,如果“montext”和“montext3”中有数据。我想让我的“蒙托尔”说 2。

这就是我到目前为止所拥有的。

function getTotal(){
    var i;
    i=0;
    if(document.getElementById("montext").value.length&gt;0)
    i++;
    if(document.getElementById("montext2").value.length&gt;0)
    i++;
    if(document.getElementById("montext3").value.length&gt;0)
    i++;

    document.getElementById("montotal").value=i

    return false;
}
4

1 回答 1

0

如果要获取 data元素中的所有元素field,请尝试:

 <div id="container">
  <field name="montext" type="text" sp="" db="">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
    <field name="montext2" type="text" sp="" db="">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
    <field name="montext3" type="text" sp="" db=">
        <label post="">Mon</label>
        <html size="8" />
        <data />
    </field>
  </div>
    <field name="montotal" type="text" sp="" db=">
        <label post="">Mon</label>
        <html size="8" />
        <data id="totalData" />
    </field>

使用 javascript 以通用方式:

function getTotal(){
    var total=0;
    //get the container
    var container = docuement.getElementById("container");
    //get all fields inside of the div container
    var fields = container.getElementsByTagName("field");
    for(var i=0; i<fields.length; i++){
     //get all data tags inside of the current field
     total += fields[i].getElementsByTagName("data").length;
    }

    document.getElementById("totalData").innerHTML = total;

  }
于 2013-07-16T21:51:09.270 回答