如何使用此属性获取另一个html标记值

时间:2015-10-01 07:21:20

标签: javascript html

我在桌子里面有一个按钮。

<input type="button" onclick="I_Have('IS-12-78',this)" class="i_have_it" value="Yes, I have">

当我点击按钮时,我需要在同一行中获取选择框的值。 我没有为这个选择框维护单独的类或ID。

enter image description here

function I_Have(itm_id,obj)
{
    xmlReq=new XMLHttpRequest();
    xmlReq.open("POST","./requests/store.jsp",false);
    xmlReq.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlReq.send("item="+itm_id+"&wt=1");
    if(xmlReq.responseText.trim()!="")
    {
      alert(xmlReq.responseText)
      obj.style.display="none"
      return false
    }
    //obj.innerHTML("Used")
    obj.setAttribute('onclick','I_Dont_Have("'+itm_id+'",this)')
    obj.setAttribute('value','No, I dont have')
    obj.setAttribute('class','i_dont_have_it')
}

使用&#34;这个&#34;(传入函数)属性可以在javascript中获取选择框的值。

1 个答案:

答案 0 :(得分:2)

您可以使用Dom对象的previousElementSibling属性:

this.previousElementSibling.value

看看this小提琴。

但只有当select成为button元素的直接兄弟时,这才有效。

如果那不是你的情况,那么首先得到父元素然后到达你需要的元素:

window.callback = function(obj){
    var parent = obj.parentElement;
    // Uncomment following to get value from nearest <TD> if your htmls is structured in table
    //parent = parent.parentElement;
    var select = parent.getElementsByTagName('select')[0];
    alert(select.value);
}

Here更新了小提琴。