我在select选项中存储多个值,并尝试通过拆分值分别获取所有值。拆分似乎工作,因为我可以获得第一个[0]值,但在此之后我没有得到任何值。它以未定义的方式发出警报。代码如下。感谢。
function roi_calc(e) {
var merchant_option = $(e).prev('td').prev('td').prev('td').find('select').val();
if (merchant_option!='Merchant') {
var value_input = $(e).prev('td').prev('td').find('input').val();
if ((value_input!='') && (value_input!='Value')) {
var price_input = $(e).prev('td').find('input').val();
if ((price_input!='') && (price_input!='Price')) {
alert ('Merchant value = '+merchant_option);
//var price_arr = new Array();//tried setting array first, but same results
var price_arr = price_input.split(',',3);
//alert (price_arr);//alerts '1'
alert (price_arr[0]);//working - alerts '1'
alert (price_arr[1]);//not working - undefined
alert (price_arr[2]);//not working - undefined
}
else {alert ('Price must be entered.');}
}
else {alert ('Value must be entered.');}
}
else {alert ('Merchant must be selected');}
//alert (row_option);
}
HTML
<table style="width: 600px;">
<tr>
<td>
<select>
<option>Merchant</option>
<option value="1,2,3,4">1</option>
<option value="5,6,7,8">2</option>
</select>
</td>
<td><input value="Value"></td>
<td><input value="Price"></td>
<td onclick="roi_calc(this);"> R.O.I </td>
</tr>
</table>
在jsfiddle上 http://jsfiddle.net/upywN/
找到答案。我这个愚蠢的错误。
我正在拆分price_input,但需要分拆merchant_option愚蠢的错误,不好意思浪费每个人的时间。
答案 0 :(得分:1)
这通常是无效的HTML
<option value="1,2,3,4">1</option>
查看option
的属性相反,你应该像这样使用multiple select
<select multiple="multiple">
答案 1 :(得分:0)
更新:您正在捕捉'选定值'(即'1'而不是'1,2,3,4')表格
<option value="1,2,3,4">1</option>
但你必须将'text'分开(即'1,2,3,4')。
你可以使用Javascript抓取选项的'text'部分,如下所示:
var list = document.getElementById('list'); // 'list' is the id of select element
var text = list.options[list.selectedIndex].text;
//And now use your split
var price_arr = text.split(',',3);