我的影片是與jQuery的動態創建一個的SelectList:如何發送選擇文本而不是表單上的值?
<script>
//Create and Append Select List
var sel = $('#MealTierDiv');
sel.append(
$('<select />').attr({
'id': 'MealTier',
'onChange': 'calculatePrice()',
'asp-for' : 'MealTier'
}).append(
$('<option />', { value:@Model.PriceBasic, text: 'Basic' }),
$('<option />', { value:@Model.PriceMiddle, text: 'Middle' }),
$('<option />', { value:@Model.PriceHigh, text: 'High' })
)
);
</script>
而這個成功建立在我用適當的選項Razor視圖選擇列表的:
<option value="10">Basic</option>
等每個選項。
CalculatePrice看起來是這樣的:
<script>
function calculatePrice() {
var y = document.getElementById("EstimatedCost");
var x = document.getElementById("NumberOfAttendees");
var z = document.getElementById("MealTier");
y.value = x.value * z.value;
}
</script>
基本上我讀從選擇選項的值,並乘以NumberOfAttendees它們(這是一個輸入字段)。計算工作正常,並在Sharepoint的結束,我看到估計成本計算和保存正確,但我懷疑我沒有得到「10」而不是「基本」的選擇是整個值與文本的東西。
我需要這些值,因爲calculatePrice
方法獲取了選擇列表項的值,並將其乘以輸入字段的值並更新第三個只讀輸入以顯示估計價格。這些項目被保存到Sharepoint,當我去查看實際的Sharepoint列表項目時,這裏的值是空白的,我懷疑這是因爲它是一個期望字符串值的字段,它將從value
發送數字,而不是從text
。
我該怎麼做才能讓我的表單帖子發送text
到Model.MealTier
而不是value
?
你可以把文本的價值,並把價值可以在您的calculatePrice方法中使用的data- *字段。否則,你必須找到選擇的選項並獲取它的'html()'或'text()'。這隻適用於Ajax請求。 – Taplar
@Taplar你能解釋一下怎麼做?我對jQuery非常陌生。我將添加計算方法,以便您可以看到它在做什麼。 – Mkalafut