我在桌子里面有一个按钮。
<input type="button" onclick="I_Have('IS-12-78',this)" class="i_have_it" value="Yes, I have">
当我点击按钮时,我需要在同一行中获取选择框的值。 我没有为这个选择框维护单独的类或ID。
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中获取选择框的值。
答案 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更新了小提琴。